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
@override
String toString() {
final name = element.name;
classBuilder
..name = name.wrapperClassName
..extend = Reference(name)
..constructors.add(
Constructor(
(builder) => builder
..requiredParameters.add(
Parameter(
(builder) => builder
..name = r'_$observer'
..toThis = true
..named = false,
),
)
..requiredParameters.add(
Parameter(
(builder) => builder
..type = Reference(name.observableClassName)
..name = r'$src'
..named = false,
),
)
..initializers.add(
Code('''
_\$src = \$src
'''),
),
),
)
..fields.add(
Field(
(builder) => builder
..type = Reference('VibeObserver')
..modifier = FieldModifier.final$
..name = r'_$observer',
),
)
..fields.add(
Field(
(builder) => builder
..type = Reference(name.observableClassName)
..modifier = FieldModifier.final$
..name = r'_$src',
),
);
return '''
${classBuilder.build().accept(_emitter)}
''';
}