final class TypePropagationState[ContextType <: Context] extends BaseAnalysisState with TACAIBasedAnalysisState[ContextType]
Manages the state of each method analyzed by TypePropagationAnalysis.
- Alphabetic
- By Inheritance
- TypePropagationState
- TACAIBasedAnalysisState
- ContextualAnalysis
- BaseAnalysisState
- AnalysisState
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new TypePropagationState(callContext: ContextType, typeSetEntity: TypeSetEntity, _tacDependee: EOptionP[Method, properties.TACAI], _ownInstantiatedTypesDependee: EOptionP[TypeSetEntity, InstantiatedTypes], _calleeDependee: EOptionP[DeclaredMethod, Callees])
- typeSetEntity
The entity which holds the type set of the method.
- _tacDependee
Dependee for the three-address code of the method.
- _ownInstantiatedTypesDependee
Dependee for the type set of the method.
- _calleeDependee
Dependee for the callee property of the method.
Type Members
- type ContextType = ContextType
- Definition Classes
- TACAIBasedAnalysisState → ContextualAnalysis
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
- var _tacDependee: EOptionP[Method, properties.TACAI]
- Attributes
- protected[this]
- Definition Classes
- TypePropagationState → TACAIBasedAnalysisState
- def addSeenCallee(pc: PC, callee: DeclaredMethod): Unit
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def backwardPropagationDependeeInstantiatedTypes(typeSetEntity: TypeSetEntity): UIDSet[ReferenceType]
- def backwardPropagationDependeeIsRegistered(typeSetEntity: TypeSetEntity): Boolean
- def backwardPropagationFilters(typeSetEntity: TypeSetEntity): UIDSet[ReferenceType]
- val callContext: ContextType
- Definition Classes
- TypePropagationState → TACAIBasedAnalysisState
- def calleeDependee: Option[EOptionP[DeclaredMethod, Callees]]
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
- def dependees: Set[SomeEOptionP]
Inherited classes that introduce new dependencies must override this method and call add a call to super!
Inherited classes that introduce new dependencies must override this method and call add a call to super!
- Definition Classes
- TypePropagationState → TACAIBasedAnalysisState → BaseAnalysisState → AnalysisState
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def forwardPropagationEntities: Set[TypeSetEntity]
- def forwardPropagationFilters(typeSetEntity: TypeSetEntity): UIDSet[ReferenceType]
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- def hasOpenDependencies: Boolean
Inherited classes that introduce new dependencies must override this method and call add a call to super!
Inherited classes that introduce new dependencies must override this method and call add a call to super!
- Definition Classes
- TypePropagationState → TACAIBasedAnalysisState → BaseAnalysisState → AnalysisState
- final def hasTACDependee: Boolean
- Definition Classes
- TACAIBasedAnalysisState
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def isSeenCallee(pc: PC, callee: DeclaredMethod): Boolean
- var methodReadsArrays: Boolean
- var methodWritesArrays: Boolean
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def newInstantiatedTypes(seenTypes: Int): IterableOnce[ReferenceType]
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- def ownInstantiatedTypes: UIDSet[ReferenceType]
- def registerForwardPropagationEntity(typeSetEntity: TypeSetEntity, typeFilters: UIDSet[ReferenceType])(implicit classHierarchy: ClassHierarchy): Boolean
Registers a new set entity to consider for forward propagation alongside a set of filters.
Registers a new set entity to consider for forward propagation alongside a set of filters. If the set entity was already registered, the new type filters are added to the existing ones.
- typeSetEntity
The set entity to register.
- typeFilters
Set of types to filter for forward propagation.
- returns
True if the set of filters has changed compared to the ones which were previously known, otherwise False.
- def seenTypes(typeSetEntity: TypeSetEntity): Int
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- final def tac: TACode[TACMethodParameter, DUVar[ValueInformation]]
- Definition Classes
- TACAIBasedAnalysisState
- final def tacDependee: EOptionP[Method, properties.TACAI]
- Definition Classes
- TACAIBasedAnalysisState
- def toString(): String
- Definition Classes
- AnyRef → Any
- val typeSetEntity: TypeSetEntity
- def updateBackwardPropagationDependee(eps: EOptionP[TypeSetEntity, InstantiatedTypes]): Unit
- def updateBackwardPropagationFilters(typeSetEntity: TypeSetEntity, typeFilters: UIDSet[ReferenceType])(implicit classHierarchy: ClassHierarchy): Boolean
- def updateCalleeDependee(calleeDependee: EOptionP[DeclaredMethod, Callees]): Unit
- def updateOwnInstantiatedTypesDependee(eps: EOptionP[TypeSetEntity, InstantiatedTypes]): Unit
- final def updateTACDependee(tacDependee: EOptionP[Method, properties.TACAI]): Unit
- Definition Classes
- TACAIBasedAnalysisState
- 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