toString method

  1. @override
String toString()
override

The enum's own toString override when the script declares one, and EnumName.valueName otherwise.

SCE116. The DEFAULT was already right — which is why this was easy to miss: P.a is what a host wants and what Dart prints, so nothing looked broken until a script overrode toString and the override was ignored.

Implementation

@override
String toString() => renderInterpretedToString(
  target: this,
  method: parentEnum.findInstanceMethod('toString'),
  visitor: parentEnum.declaringVisitor,
  fallback: () => '${parentEnum.name}.$name',
);