accrue.analysis.interprocanalysis

## Class AnalysisContext

- java.lang.Object
- - accrue.analysis.interprocanalysis.AnalysisContext

- 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.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `AnalysisContext(CContext cContext, ConstructorContext constructorContext, polyglot.ast.JLang lang)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `AnalysisContext` | `constructorContext(polyglot.types.ConstructorInstance ci)`
    `AnalysisContext` | `convert(java.lang.Class<?> toClass)`
    `protected AnalysisContext` | `copy()`
    `boolean` | `equals(java.lang.Object obj)`
    `CContext` | `getCContext()`
    `ConstructorContext` | `getConstructorContext()`
    `int` | `hashCode()`
    `polyglot.ast.JLang` | `lang()`
    `java.lang.String` | `toString()`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### AnalysisContext

          public AnalysisContext(CContext cContext,
                         ConstructorContext constructorContext,
                         polyglot.ast.JLang lang)

  - ### Method Detail

    - #### constructorContext

          public AnalysisContext constructorContext(polyglot.types.ConstructorInstance ci)

    - #### copy

          protected AnalysisContext copy()

    - #### getCContext

          public CContext getCContext()

    - #### getConstructorContext

          public ConstructorContext getConstructorContext()

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `java.lang.Object`

    - #### equals

          public boolean equals(java.lang.Object obj)

      Overrides:
        `equals` in class `java.lang.Object`

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`

    - #### convert

          public AnalysisContext convert(java.lang.Class<?> toClass)

    - #### lang

          public polyglot.ast.JLang lang()