toString method
A string representation of this object.
Some classes have a default textual representation,
often paired with a static parse
function (like int.parse).
These classes will provide the textual representation as
their string representation.
Other classes have no meaningful textual representation
that a program will care about.
Such classes will typically override toString
to provide
useful information when inspecting the object,
mainly for debugging or logging.
Implementation
String toString() {
final params = <String>[];
if (name != null) {
params.add("name: '$name'");
}
if (consumer != null) {
params.add("consumer: '$consumer'");
}
if (direction == LineDirection.input) {
params.add("direction: input");
} else {
params.add("direction: output");
if (outputMode == OutputMode.openDrain) {
params.add("outputMode: openDrain");
} else if (outputMode == OutputMode.openSource) {
params.add("outputMode: openSource");
}
}
if (bias == Bias.disable) {
params.add("bias: disable");
} else if (bias == Bias.pullDown) {
params.add("bias: pullDown");
} else if (bias == Bias.pullUp) {
params.add("bias: pullUp");
}
if (activeState == ActiveState.low) {
params.add("activeState: low");
}
params.add("isUsed: $isUsed");
params.add("isRequested: $isRequested");
params.add("isFree: $isFree");
return "LineInfo(${params.join(", ")})";
}