level property Null safety

DiagnosticLevel level
override

Priority level of the diagnostic used to control which diagnostics should be shown and filtered.

If ifEmpty is null and the value is an empty Iterable then level DiagnosticLevel.fine is returned in a similar way to how an ObjectFlagProperty handles when ifNull is null and the value is null.

Implementation

@override
DiagnosticLevel get level {
  if (ifEmpty == null && value != null && value!.isEmpty && super.level != DiagnosticLevel.hidden)
    return DiagnosticLevel.fine;
  return super.level;
}