class PropagationBasedTypeIterator extends TypeIterator with SimpleContextProvider
Configurable type iterator for the XTA family of call graphs. Based on the given TypeSetEntitySelector, XTA, MTA, FTA or CTA behavior can be produced. Types are stored per entity plus a global set of types.
- Source
- TypeIterator.scala
- Alphabetic
- By Inheritance
- PropagationBasedTypeIterator
- SimpleContextProvider
- TypeIterator
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new PropagationBasedTypeIterator(project: SomeProject, typeSetEntitySelector: TypeSetEntitySelector)
Type Members
- type ContextType = SimpleContext
- Definition Classes
- SimpleContextProvider → TypeIterator
- type InformationType = (InstantiatedTypes, InstantiatedTypes)
- Definition Classes
- PropagationBasedTypeIterator → TypeIterator
- type PropertyType = InstantiatedTypes
- Definition Classes
- PropagationBasedTypeIterator → TypeIterator
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 clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
- def contextFromId(contextId: Int): Context
- Definition Classes
- SimpleContextProvider → TypeIterator
- Annotations
- @inline()
- def continuation(field: Field, updatedEPS: EPS[Entity, Property], oldEOptP: EOptionP[Entity, Property], handleNewType: (ReferenceType) => Unit)(implicit state: TypeIteratorState): Unit
- Attributes
- protected[this]
- Definition Classes
- PropagationBasedTypeIterator → TypeIterator
- Annotations
- @inline()
- def continuation(use: V, updatedEPS: EPS[Entity, InstantiatedTypes], oldEOptP: EOptionP[Entity, InstantiatedTypes], additionalTypes: Set[ReferenceType], handleNewType: (ReferenceType) => Unit): Unit
- Attributes
- protected[this]
- Definition Classes
- PropagationBasedTypeIterator → TypeIterator
- Annotations
- @inline()
- def continuation(field: Field, updatedEPS: EPS[Entity, Property])(handleNewType: (ReferenceType) => Unit)(implicit state: TypeIteratorState): Unit
- Definition Classes
- TypeIterator
- def continuation(use: V, updatedEPS: EPS[Entity, PropertyType], additionalTypes: Set[ReferenceType] = Set.empty)(handleNewType: (ReferenceType) => Unit)(implicit state: TypeIteratorState): Unit
- Definition Classes
- TypeIterator
- def continuationForAllocations(field: Field, updatedEPS: EPS[Entity, Property], oldEOptP: EOptionP[Entity, Property], handleNewAllocation: (ReferenceType, Context, Int) => Unit)(implicit state: TypeIteratorState): Unit
- Attributes
- protected[this]
- Definition Classes
- TypeIterator
- Annotations
- @inline()
- def continuationForAllocations(use: V, updatedEPS: EPS[Entity, PropertyType], oldEOptP: EOptionP[Entity, PropertyType], additionalTypes: Set[ReferenceType], handleNewAllocation: (ReferenceType, Context, Int) => Unit): Unit
- Attributes
- protected[this]
- Definition Classes
- TypeIterator
- Annotations
- @inline()
- def continuationForAllocations(field: Field, updatedEPS: EPS[Entity, Property])(handleNewAllocation: (ReferenceType, Context, Int) => Unit)(implicit state: TypeIteratorState): Unit
- Definition Classes
- TypeIterator
- def continuationForAllocations(use: V, updatedEPS: EPS[Entity, PropertyType], additionalTypes: Set[ReferenceType] = Set.empty)(handleNewAllocation: (ReferenceType, Context, Int) => Unit)(implicit state: TypeIteratorState): Unit
- Definition Classes
- TypeIterator
- implicit val declaredMethods: DeclaredMethods
- Attributes
- protected[this]
- Definition Classes
- SimpleContextProvider
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def expandContext(oldContext: Context, method: DeclaredMethod, pc: Int): SimpleContext
- Definition Classes
- SimpleContextProvider → TypeIterator
- Annotations
- @inline()
- def foreachAllocation(field: Field, typesProperty: InformationType)(handleAllocation: (ReferenceType, Context, Int) => Unit): Unit
- Definition Classes
- TypeIterator
- def foreachAllocation(use: V, context: Context, stmts: Array[Stmt[V]], typesProperty: InformationType, additionalTypes: Set[ReferenceType] = Set.empty)(handleAllocation: (ReferenceType, Context, Int) => Unit): Unit
- Definition Classes
- TypeIterator
- def foreachType(field: Field, typesProperty: (InstantiatedTypes, InstantiatedTypes))(handleType: (ReferenceType) => Unit): Unit
- Definition Classes
- PropagationBasedTypeIterator → TypeIterator
- Annotations
- @inline()
- def foreachType(use: V, typesProperty: (InstantiatedTypes, InstantiatedTypes), additionalTypes: Set[ReferenceType])(handleType: (ReferenceType) => Unit): Unit
- Definition Classes
- PropagationBasedTypeIterator → TypeIterator
- Annotations
- @inline()
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def newContext(method: DeclaredMethod): SimpleContext
- Definition Classes
- SimpleContextProvider → TypeIterator
- Annotations
- @inline()
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- val project: SomeProject
- Definition Classes
- TypeIterator
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- def typesProperty(field: Field, depender: Entity)(implicit propertyStore: PropertyStore, state: TypeIteratorState): (InstantiatedTypes, InstantiatedTypes)
- Definition Classes
- PropagationBasedTypeIterator → TypeIterator
- Annotations
- @inline()
- def typesProperty(use: V, context: SimpleContext, depender: Entity, stmts: Array[Stmt[V]])(implicit state: TypeIteratorState): (InstantiatedTypes, InstantiatedTypes)
- Definition Classes
- PropagationBasedTypeIterator → TypeIterator
- Annotations
- @inline()
- def typesProperty(field: Field, fieldAllocation: DefinitionSite, depender: Entity, context: Context, stmts: Array[Stmt[V]])(implicit propertyStore: PropertyStore, state: TypeIteratorState): InformationType
- Definition Classes
- TypeIterator
- val usedPropertyKinds: Set[PropertyBounds]
- Definition Classes
- PropagationBasedTypeIterator → 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