Immutable class

Annotation on an immutable class.

Used to annotate a class declaration.

Indicates that the class, and all subtypes of it, must be immutable.

A class is immutable if all of the instance fields of the class, whether defined directly or inherited, are final.

This class has a reason field that can be displayed as part of the error message if a subclass is not immutable.

See immutable for more details.

Annotations
  • @Target.new({TargetKind.classType, TargetKind.extensionType, TargetKind.mixinType})

Constructors

Immutable([String reason = ''])
Creates annotation for being immutable with the given reason.
const

Properties

hashCode int
The hash code for this object.
no setterinherited
reason String
A human-readable explanation of the reason why the class is immutable.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

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