FlagsSummary<T> class

A summary of multiple properties, indicating whether each of them is present (non-null) or absent (null).

Each entry of value is described by its key. The eventual description will be a list of keys of non-null entries.

The ifEmpty describes the entire collection of value when it contains no non-null entries. If ifEmpty is omitted, level will be DiagnosticLevel.hidden when value contains no non-null entries.

This kind of diagnostics property is typically used for opaque values, like closures, where presenting the actual object is of dubious value but where reporting the presence or absence of the value is much more useful.

See also:

  • ObjectFlagProperty, which provides similar functionality but accepts only one flag, and is preferred if there is only one entry.
  • IterableProperty, which provides similar functionality describing the values a collection of objects.


FlagsSummary(String name, Map<String, T?> value, {String? ifEmpty, bool showName = true, bool showSeparator = true, DiagnosticLevel level = DiagnosticLevel.info})
Create a summary for multiple properties, indicating whether each of them is present (non-null) or absent (null).


allowNameWrap bool
Whether to wrap the name onto multiple lines or not.
allowTruncate bool
Whether to allow truncation when displaying the node and its children.
no setterinherited
allowWrap bool
Whether to wrap text on onto multiple lines or not.
defaultValue Object?
The default value of this property, when it has not been set to a specific value.
emptyBodyDescription String?
Description to show if the node has no displayed properties or children.
no setterinherited
exception Object?
Exception thrown if accessing the property value threw an exception.
no setterinherited
expandableValue bool
Whether to expose properties and children of the value as properties and children.
hashCode int
The hash code for this object.
no setterinherited
ifEmpty String?
Description if the property description would otherwise be empty.
ifNull String?
Description if the property value is null.
isInteresting bool
Whether to consider the property's value interesting. When a property is uninteresting, its level is downgraded to DiagnosticLevel.fine regardless of the value provided as the constructor's level argument.
no setterinherited
level DiagnosticLevel
Priority level of the diagnostic used to control which diagnostics should be shown and filtered.
no setteroverride
linePrefix String?
Prefix to include at the start of each line.
missingIfNull bool
Whether a value of null causes the property to have level DiagnosticLevel.warning warning that the property is missing a value.
name String?
Label describing the DiagnosticsNode, typically shown before a separator (see showSeparator).
propertyType Type
The type of the property value.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
showName bool
Whether the name of the property should be shown when showing the default view of the tree.
showSeparator bool
Whether to show a separator between name and description.
style DiagnosticsTreeStyle?
Hint for how the node should be displayed.
textTreeConfiguration TextTreeConfiguration?
Returns a configuration specifying how this object should be rendered as text art.
no setterinherited
tooltip String?
Optional tooltip typically describing the property.
value Map<String, T?>
Returns the value of the property either from cache or by invoking a ComputePropertyValueCallback.
no setteroverride


getChildren() List<DiagnosticsNode>
Children of this DiagnosticsNode.
getProperties() List<DiagnosticsNode>
Properties of this DiagnosticsNode.
isFiltered(DiagnosticLevel minLevel) bool
Whether the diagnostic should be filtered due to its level being lower than minLevel.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
toDescription({TextTreeConfiguration? parentConfiguration}) String
Returns a description with a short summary of the node itself not including children or properties.
toJsonMap(DiagnosticsSerializationDelegate delegate) Map<String, Object?>
Serialize the node to a JSON map according to the configuration provided in the DiagnosticsSerializationDelegate.
toString({TextTreeConfiguration? parentConfiguration, DiagnosticLevel minLevel = DiagnosticLevel.info}) String
Returns a string representation of this diagnostic that is compatible with the style of the parent if the node is not the root.
toStringDeep({String prefixLineOne = '', String? prefixOtherLines, TextTreeConfiguration? parentConfiguration, DiagnosticLevel minLevel = DiagnosticLevel.debug}) String
Returns a string representation of this node and its descendants.
toTimelineArguments() Map<String, String>?
Converts the properties (getProperties) of this node to a form useful for Timeline event arguments (as in Timeline.startSync).
valueToString({TextTreeConfiguration? parentConfiguration}) String
Returns a string representation of the property value.


operator ==(Object other) bool
The equality operator.