Trait/Object

org.opalj.fpcf.properties

TypeImmutability

Related Docs: object TypeImmutability | package properties

Permalink

sealed trait TypeImmutability extends OrderedProperty with TypeImmutabilityPropertyMetaInformation

Specifies if all instances of a respective type (this includes the instances of the type's subtypes) are (conditionally) immutable. Conditionally immutable means that only the instance of the type itself is guaranteed to be immutable, but not all reachable objects. In general, all -- so called -- immutable collections are only conditionally immutable. I.e., the collection as a whole is only immutable if only immutable objects are stored in the collection. If this is not the case, the collection is only conditionally immutable.

This property is of particular interest if the precise type cannot be computed statically and basically depends on the AnalysisMode and ObjectImmutability.

Linear Supertypes
TypeImmutabilityPropertyMetaInformation, OrderedProperty, Property, PropertyMetaInformation, PropertyKind, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. TypeImmutability
  2. TypeImmutabilityPropertyMetaInformation
  3. OrderedProperty
  4. Property
  5. PropertyMetaInformation
  6. PropertyKind
  7. AnyRef
  8. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. final type Self = TypeImmutability

    Permalink
    Definition Classes
    TypeImmutabilityPropertyMetaInformation → PropertyMetaInformation

Abstract Value Members

  1. abstract def isConditionallyImmutable: Boolean

    Permalink
  2. abstract def isMutable: Boolean

    Permalink
  3. abstract def isRefineable: Boolean

    Permalink
    Definition Classes
    Property
  4. abstract def isValidSuccessorOf(other: OrderedProperty): Option[String]

    Permalink
    Definition Classes
    OrderedProperty
  5. abstract def join(other: TypeImmutability): TypeImmutability

    Permalink

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. final def asOrderedProperty: TypeImmutability.this.type

    Permalink
    Definition Classes
    OrderedProperty → Property
  6. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  7. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  8. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  9. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  10. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  11. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  12. final def id: Int

    Permalink
    Definition Classes
    PropertyMetaInformation → PropertyKind
  13. final def isFinal: Boolean

    Permalink
    Definition Classes
    Property
  14. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  15. final def isOrdered: Boolean

    Permalink
    Definition Classes
    OrderedProperty → Property
  16. final def key: PropertyKey[TypeImmutability]

    Permalink

    Returns the key used by all TypeImmutability properties.

    Returns the key used by all TypeImmutability properties.

    Definition Classes
    TypeImmutability → PropertyMetaInformation
  17. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  18. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  19. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  20. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  21. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  22. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  23. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  24. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from OrderedProperty

Inherited from Property

Inherited from PropertyMetaInformation

Inherited from PropertyKind

Inherited from AnyRef

Inherited from Any

Ungrouped