toString method Null safety

  1. @override
String toString(
  1. {DiagnosticLevel minLevel =}

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.


String toString({ DiagnosticLevel minLevel = }) {
  String toString(String name, Color color) {
    final String marker = color == _effectiveColor ? '*' : '';
    return '$marker$name = $color$marker';

  final List<String> xs = <String>[toString('color', color),
    if (_isPlatformBrightnessDependent) toString('darkColor', darkColor),
    if (_isHighContrastDependent) toString('highContrastColor', highContrastColor),
    if (_isPlatformBrightnessDependent && _isHighContrastDependent) toString('darkHighContrastColor', darkHighContrastColor),
    if (_isInterfaceElevationDependent) toString('elevatedColor', elevatedColor),
    if (_isPlatformBrightnessDependent && _isInterfaceElevationDependent) toString('darkElevatedColor', darkElevatedColor),
    if (_isHighContrastDependent && _isInterfaceElevationDependent) toString('highContrastElevatedColor', highContrastElevatedColor),
    if (_isPlatformBrightnessDependent && _isHighContrastDependent && _isInterfaceElevationDependent) toString('darkHighContrastElevatedColor', darkHighContrastElevatedColor),

  return '${_debugLabel ?? objectRuntimeType(this, 'CupertinoDynamicColor')}(${xs.join(', ')}, resolved by: ${_debugResolveContext?.widget ?? "UNRESOLVED"})';