trait AbstractFieldAssignabilityAnalysis extends FPCFAnalysis
- Alphabetic
- By Inheritance
- AbstractFieldAssignabilityAnalysis
- FPCFAnalysis
- ProjectBasedAnalysis
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- trait AbstractFieldAssignabilityAnalysisState extends AnyRef
- abstract type AnalysisState <: AbstractFieldAssignabilityAnalysisState
- type V = DUVar[ValueInformation]
Abstract Value Members
- abstract def createState(field: Field): AnalysisState
- abstract def methodUpdatesField(method: Method, taCode: TACode[TACMethodParameter, V], callers: Callers, pcs: PCs)(implicit state: AnalysisState): Boolean
Analyzes field writes for a single method, returning false if the field may still be effectively final and true otherwise.
- abstract val project: SomeProject
- Definition Classes
- ProjectBasedAnalysis
Concrete 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
- def c(eps: SomeEPS)(implicit state: AnalysisState): ProperPropertyComputationResult
Continuation function handling updates to the FieldPrematurelyRead property or to the purity property of the method that initializes a (potentially) lazy initialized field.
- final def ch: ClassHierarchy
- Definition Classes
- ProjectBasedAnalysis
- implicit final def classHierarchy: ClassHierarchy
- Definition Classes
- ProjectBasedAnalysis
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
- final val closedPackages: ClosedPackages
- def createResult()(implicit state: AnalysisState): ProperPropertyComputationResult
- implicit final val declaredMethods: DeclaredMethods
- final val definitionSites: DefinitionSites
- def doDetermineFieldAssignability(entity: Entity): ProperPropertyComputationResult
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final val fieldAccessInformation: FieldAccessInformation
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- def getDefaultValues()(implicit state: AnalysisState): Set[Any]
Returns the initialization value of a given type.
- def getTACAIAndCallers(method: Method, pcs: PCs)(implicit state: AnalysisState): Option[(TACode[TACMethodParameter, V], Callers)]
Returns TACode and Callers for a method if available, registering dependencies as necessary.
- def handleEscapeProperty(ep: EOptionP[(Context, DefinitionSite), EscapeProperty])(implicit state: AnalysisState): Boolean
Handles the influence of an escape property on the field immutability.
Handles the influence of an escape property on the field immutability.
- returns
true if the object - on which a field write occurred - escapes, false otherwise.
- Note
(Re-)Adds dependees as necessary.
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- implicit final def logContext: LogContext
- Definition Classes
- ProjectBasedAnalysis
- 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()
- implicit final def p: SomeProject
- Definition Classes
- ProjectBasedAnalysis
- implicit final val propertyStore: PropertyStore
- Definition Classes
- FPCFAnalysis
- final def ps: PropertyStore
- Definition Classes
- FPCFAnalysis
- def referenceHasNotEscaped(ref: V, stmts: Array[Stmt[V]], method: Method, callers: Callers)(implicit state: AnalysisState): Boolean
Checks whether the object reference of a PutField does not escape (except for being returned).
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final val typeExtensibility: (ObjectType) => Answer
- implicit final val typeIterator: TypeIterator
- 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