toString method

  1. @override
String toString()
override

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

@override
String toString() {
  final buffer = StringBuffer('IntrospectionResult:\n');
  if (functions.isNotEmpty) {
    buffer.writeln('  Functions (${functions.length}):');
    for (final f in functions) {
      buffer.writeln('    - $f');
    }
  }
  if (classes.isNotEmpty) {
    buffer.writeln('  Classes (${classes.length}):');
    for (final c in classes) {
      buffer.writeln('    - $c');
    }
  }
  if (variables.isNotEmpty) {
    buffer.writeln('  Variables (${variables.length}):');
    for (final v in variables) {
      buffer.writeln('    - $v');
    }
  }
  if (enums.isNotEmpty) {
    buffer.writeln('  Enums (${enums.length}):');
    for (final e in enums) {
      buffer.writeln('    - $e');
    }
  }
  if (extensions.isNotEmpty) {
    buffer.writeln('  Extensions (${extensions.length}):');
    for (final e in extensions) {
      buffer.writeln('    - $e');
    }
  }
  return buffer.toString();
}