IterableProperty<T> constructor Null safety

  1. String name,
  2. Iterable<T>? value,
  3. {Object? defaultValue = kNoDefaultValue,
  4. String? ifNull,
  5. String? ifEmpty = '[]',
  6. DiagnosticsTreeStyle style = DiagnosticsTreeStyle.singleLine,
  7. bool showName = true,
  8. bool showSeparator = true,
  9. DiagnosticLevel level =}

Create a diagnostics property for iterables (e.g. lists).

The ifEmpty argument is used to indicate how an iterable value with 0 elements is displayed. If ifEmpty equals null that indicates that an empty iterable value is not interesting to display similar to how defaultValue is used to indicate that a specific concrete value is not interesting to display.

The style, showName, showSeparator, and level arguments must not be null.


  String name,
  Iterable<T>? value, {
  Object? defaultValue = kNoDefaultValue,
  String? ifNull,
  String? ifEmpty = '[]',
  DiagnosticsTreeStyle style = DiagnosticsTreeStyle.singleLine,
  bool showName = true,
  bool showSeparator = true,
  DiagnosticLevel level =,
}) : assert(style != null),
     assert(showName != null),
     assert(showSeparator != null),
     assert(level != null),
  defaultValue: defaultValue,
  ifNull: ifNull,
  ifEmpty: ifEmpty,
  style: style,
  showName: showName,
  showSeparator: showSeparator,
  level: level,