sealed abstract class FieldLocality extends Property with FieldLocalityMetaInformation
Describe the lifetime of the values stored in an instance field.
LocalFields have a lifetime that is not longer than that of the field's owning instance.
ExtensibleLocalFields provide the same guarantee only if the (dynamic) type of the owning
instance is known not to extend java.lang.Cloneable
.
The lifetime of a value in a LocalFieldWithGetter can only be extended by it being returned
by a method. I.e. if the caller of such method knows that it's receiver is fresh, the field's
value may also be treated as fresh.
ExtensibleLocalFieldWithGetter is used if both restrictions apply: The type type of the
owning instance may not be cloneable and the value's lifetime could be extended by being
returned by a method.
- Source
- FieldLocality.scala
- Alphabetic
- By Inheritance
- FieldLocality
- FieldLocalityMetaInformation
- Property
- PropertyMetaInformation
- PropertyKind
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- final type Self = FieldLocality
- Definition Classes
- FieldLocalityMetaInformation → PropertyMetaInformation
Abstract Value Members
- abstract def meet(other: FieldLocality): FieldLocality
Concrete Value Members
- final def asOrderedProperty: OrderedProperty
Returns
this
if this property inherits from OrderedProperty.Returns
this
if this property inherits from OrderedProperty.Used, e.g., by the framework to support debugging analyses.
- Definition Classes
- Property
- final def id: Int
The id uniquely identifies this property's category.
The id uniquely identifies this property's category. All property objects of the same kind have to use the same id which is guaranteed since they share the same
PropertyKey
- Definition Classes
- PropertyMetaInformation → PropertyKind
- final def isOrderedProperty: Boolean
Returns
true
if this property inherits from OrderedProperty.Returns
true
if this property inherits from OrderedProperty.- Definition Classes
- Property
- final def key: PropertyKey[FieldLocality]
The key uniquely identifies this property's category.
The key uniquely identifies this property's category. All property objects of the same kind have to use the same key.
In general each
Property
kind is expected to have a companion object that stores the uniquePropertyKey
.- Definition Classes
- FieldLocality → PropertyMetaInformation