abstract class TypeIterator extends AnyRef
Core class of the call-graph framework: Provides type and (if available) points-to information to client classes. Each type iterator represents one traditional call-graph algorithm.
Type iterators are responsible for managing the dependencies for their internal information themselves. They provide suitable continuation functions to be invoked from an analysis' continuation in order to process these opaque dependencies.
- Source
- TypeIterator.scala
- Alphabetic
- By Inheritance
- TypeIterator
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new TypeIterator(project: SomeProject)
Type Members
Abstract Value Members
- abstract def contextFromId(contextId: Int): Context
- abstract def continuation(field: Field, updatedEPS: EPS[Entity, Property], oldEOptP: EOptionP[Entity, Property], handleNewType: (ReferenceType) => Unit)(implicit state: TypeIteratorState): Unit
- Attributes
- protected[this]
- Annotations
- @inline()
- abstract def continuation(use: V, updatedEPS: EPS[Entity, PropertyType], oldEOptP: EOptionP[Entity, PropertyType], additionalTypes: Set[ReferenceType], handleNewType: (ReferenceType) => Unit): Unit
- Attributes
- protected[this]
- Annotations
- @inline()
- abstract def expandContext(oldContext: Context, method: DeclaredMethod, pc: Int): ContextType
- abstract def foreachType(field: Field, typesProperty: InformationType)(handleType: (ReferenceType) => Unit): Unit
- abstract def foreachType(use: V, typesProperty: InformationType, additionalTypes: Set[ReferenceType] = Set.empty)(handleType: (ReferenceType) => Unit): Unit
- abstract def newContext(method: DeclaredMethod): ContextType
- abstract def typesProperty(field: Field, depender: Entity)(implicit propertyStore: PropertyStore, state: TypeIteratorState): InformationType
- abstract def typesProperty(use: V, context: ContextType, depender: Entity, stmts: Array[Stmt[V]])(implicit state: TypeIteratorState): InformationType
- abstract val usedPropertyKinds: Set[PropertyBounds]
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 clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
- def continuation(field: Field, updatedEPS: EPS[Entity, Property])(handleNewType: (ReferenceType) => Unit)(implicit state: TypeIteratorState): Unit
- def continuation(use: V, updatedEPS: EPS[Entity, PropertyType], additionalTypes: Set[ReferenceType] = Set.empty)(handleNewType: (ReferenceType) => Unit)(implicit state: TypeIteratorState): Unit
- def continuationForAllocations(field: Field, updatedEPS: EPS[Entity, Property], oldEOptP: EOptionP[Entity, Property], handleNewAllocation: (ReferenceType, Context, Int) => Unit)(implicit state: TypeIteratorState): Unit
- Attributes
- protected[this]
- 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]
- Annotations
- @inline()
- def continuationForAllocations(field: Field, updatedEPS: EPS[Entity, Property])(handleNewAllocation: (ReferenceType, Context, Int) => Unit)(implicit state: TypeIteratorState): Unit
- def continuationForAllocations(use: V, updatedEPS: EPS[Entity, PropertyType], additionalTypes: Set[ReferenceType] = Set.empty)(handleNewAllocation: (ReferenceType, Context, Int) => Unit)(implicit state: TypeIteratorState): Unit
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def foreachAllocation(field: Field, typesProperty: InformationType)(handleAllocation: (ReferenceType, Context, Int) => Unit): Unit
- def foreachAllocation(use: V, context: Context, stmts: Array[Stmt[V]], typesProperty: InformationType, additionalTypes: Set[ReferenceType] = Set.empty)(handleAllocation: (ReferenceType, Context, Int) => Unit): Unit
- 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
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- val project: SomeProject
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- def typesProperty(field: Field, fieldAllocation: DefinitionSite, depender: Entity, context: Context, stmts: Array[Stmt[V]])(implicit propertyStore: PropertyStore, state: TypeIteratorState): InformationType
- 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