sealed trait SelfReferenceLeakage extends Property
Determines if an object potentially leaks its self reference (this
) by passing
assigning it to fields or passing it to methods which assign it to fields.
Hence, it computes a special escape information.
Here, the self-reference escapes the scope of a class if:
- ... it is assigned to a (static) field,
- ... it is passed to a method that assigns it to a field,
- ... it is stored in an array,
- ... it is returned (recall that constructors have a void return type),
- ... if a superclass leaks the self reference.
This property can be used as a foundation for an analysis that determines whether all instances created for a specific class never escape their creating methods and, hence, respective types cannot occur outside the respective contexts.
- Alphabetic
- By Inheritance
- SelfReferenceLeakage
- Property
- PropertyMetaInformation
- PropertyKind
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- final type Self = SelfReferenceLeakage
- Definition Classes
- SelfReferenceLeakage → PropertyMetaInformation
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- 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
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- 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 isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- 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[SelfReferenceLeakage]
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
- SelfReferenceLeakage → PropertyMetaInformation
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated