Mutability
Handling mutability and read-only access
Attributes
- Graph
-
- Supertypes
- Self type
-
Mutability.type
Members list
Value members
Concrete methods
Adapt type actual so that it represents a read-only access if needed. actual is the widened version of original with capture set improved by the VAR rule. The conditions for adaptation are as follows (see modularity.md, section "Read-Only Accesses" for context)
Adapt type actual so that it represents a read-only access if needed. actual is the widened version of original with capture set improved by the VAR rule. The conditions for adaptation are as follows (see modularity.md, section "Read-Only Accesses" for context)
- The
originalreference is athisof a type extending Mutable and the access is not from an update method of the class ofthis. - The
originalreference refers to a type extending Mutable and is a path where a prefix of that path has a read-only capture set. - The expected type corresponding to some part of
actualthat refers to a type extending Mutable is a value type that is not a mutable type. In that case this part is adapted to a read-only capture set.
Attributes
Extensions
Extensions
Map ref to ref.readOnly if its type extends Mutble, and one of the following is true: it appears in a non-exclusive context, or the expected type is a value type that is not a mutable type.
Map ref to ref.readOnly if its type extends Mutble, and one of the following is true: it appears in a non-exclusive context, or the expected type is a value type that is not a mutable type.
Attributes
A read-only methid is a real method (not an accessor) in a type extending Mutable that is not an update method.
A read-only methid is a real method (not an accessor) in a type extending Mutable that is not an update method.
Attributes
An update method is either a method marked with update or a setter of a non-transparent var.
An update method is either a method marked with update or a setter of a non-transparent var.
Attributes
Is this a type extending Mutable that has non-private update methods or mutable fields?
Is this a type extending Mutable that has non-private update methods or mutable fields?