accrue.analysis.ctldep

## Class CtlDepAnalysisFactory

- java.lang.Object
- - accrue.analysis.interprocanalysis.AnalysisFactory<CDAbsVal>
  - - accrue.analysis.ctldep.CtlDepAnalysisFactory

-     public class CtlDepAnalysisFactory
      extends AnalysisFactory<CDAbsVal>

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.lang.String` | `ANALYSIS_NAME`
    `static java.lang.String` | `BRANCH_SOURCES` The set of EdgeIdentifiers the current node is control dependent on.
    `static java.lang.String` | `BRANCH_TARGETS` The set of EdgeIdentifiers to nodes that are control dependent on the current node.

    - ### Fields inherited from class accrue.analysis.interprocanalysis.AnalysisFactory

      `extInfo`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `CtlDepAnalysisFactory(AccrueExtensionInfo extInfo)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.String` | `analysisName()` Get the name of the analysis
    `java.lang.String` | `analysisReportName()` Get the name of the analysis report
    `AnalysisUtil<CDAbsVal>` | `analysisUtil(WorkQueue<CDAbsVal> wq, AnalysisUnit aunit)` Get the object sensitive analysis utility class.
    `CDAbsVal` | `startItem(AnalysisUtil<CDAbsVal> autil, polyglot.ast.ProcedureDecl startProc)` Get the start item for the analysis

    - ### Methods inherited from class accrue.analysis.interprocanalysis.AnalysisFactory

      `createAnalysisContext, emptyExitMap, reportTopics, startProcAnalysisContext`

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

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### ANALYSIS_NAME

          public static final java.lang.String ANALYSIS_NAME

      See Also:
        Constant Field Values

    - #### BRANCH_SOURCES

          public static final java.lang.String BRANCH_SOURCES

      The set of EdgeIdentifiers the current node is control dependent on.
      See Also:
        Constant Field Values

    - #### BRANCH_TARGETS

          public static final java.lang.String BRANCH_TARGETS

      The set of EdgeIdentifiers to nodes that are control dependent on the current node.
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### CtlDepAnalysisFactory

          public CtlDepAnalysisFactory(AccrueExtensionInfo extInfo)

  - ### Method Detail

    - #### analysisName

          public java.lang.String analysisName()

      Description copied from class: `AnalysisFactory`
      Get the name of the analysis
      Specified by:
        `analysisName` in class `AnalysisFactory<CDAbsVal>`

    - #### analysisReportName

          public java.lang.String analysisReportName()

      Description copied from class: `AnalysisFactory`
      Get the name of the analysis report
      Specified by:
        `analysisReportName` in class `AnalysisFactory<CDAbsVal>`

    - #### analysisUtil

          public AnalysisUtil<CDAbsVal> analysisUtil(WorkQueue<CDAbsVal> wq,
                                            AnalysisUnit aunit)

      Description copied from class: `AnalysisFactory`
      Get the object sensitive analysis utility class.
      Specified by:
        `analysisUtil` in class `AnalysisFactory<CDAbsVal>`
      Parameters:
        `wq` - Analysis work queue of `CodeInstance`
        `aunit` - Analysis unit that we are constructing the AnalysisUtil for.

    - #### startItem

          public CDAbsVal startItem(AnalysisUtil<CDAbsVal> autil,
                           polyglot.ast.ProcedureDecl startProc)
                             throws polyglot.types.SemanticException

      Description copied from class: `AnalysisFactory`
      Get the start item for the analysis
      Specified by:
        `startItem` in class `AnalysisFactory<CDAbsVal>`
      Parameters:
        `autil` - Object sensitive analysis utility
        `startProc` - Entry procedure for the analysis
      Returns:
        The start analysis result item
      Throws:
        `polyglot.types.SemanticException` - thrown if the start item cannot be computed due to a semantic error