toString method

String toString()

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 represetion.

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.


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(", ")})";