- All Implemented Interfaces:
- java.lang.Cloneable
public class AnalysisContext
extends java.lang.Object
implements java.lang.Cloneable
A context in which to analyze code. In a context-sensitive analysis,
the same piece of code may be analyzed multiple times, each time with a different
AnalysisContext.
An AnalysisContext is a pair of a CContext and a ConstructorContext.
The ConstructorContext is used to distinguish copies of instance initializers,
which must be analyzed separately for each constructor call to super. That is,
for most AnalysisContexts, the constructorContext will be
ConstructorContext.NORMAL, meaning that the
CContext fully determines the context for the analysis of code. However, when
an instance initializer is being analyzed, the AnalysisContext will
contain a reference to a constructor instance of the same class as the
container of the instance initializer, in order to distinguish the
different analyses of the instance initializer within the same CContext.