accrue.analysis.ext

## Class ExtField

- java.lang.Object
- - polyglot.ast.Ext_c
  - - accrue.analysis.ext.AccrueExt_c
    - - accrue.analysis.ext.ExtTerm
      - - accrue.analysis.ext.ExtExpr
        - - accrue.analysis.ext.ExtField

- All Implemented Interfaces:
    AccrueExt, java.io.Serializable, java.lang.Cloneable, polyglot.ast.Ext, polyglot.ast.NodeOps, polyglot.util.Copy<polyglot.ast.Ext>
  Direct Known Subclasses:
    ExtEnumConstant

      public class ExtField
      extends ExtExpr

  See Also:
    Serialized Form

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface polyglot.util.Copy

      `polyglot.util.Copy.Util`

  - ### Field Summary

    - ### Fields inherited from class polyglot.ast.Ext_c

      `ext, node, pred`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ExtField()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `<DFItem extends polyglot.visit.DataFlow.Item> java.util.Map<polyglot.visit.FlowGraph.EdgeKey,DFItem>` | `flowDispatch(DataFlowDispatch<DFItem> d, DFItem dfIn, polyglot.visit.FlowGraph<DFItem> graph, polyglot.visit.FlowGraph.Peer<DFItem> peer)` Dispatch function.
    `void` | `registerPointerStmts(StmtRegistrar registrar, RegisterPointerStmtsVisitor v)` This method needs to ensure that: 1.
    `java.util.Collection<ThrowableType>` | `throwTypes(polyglot.types.TypeSystem ts, AnalysisContext context)` Get the collection of types of exceptions that might be thrown

    - ### Methods inherited from class accrue.analysis.ext.ExtExpr

      `getConstructorContexts, getReferenceVariable, mayBeNull, mayBeNull, numArgumentsOnResultStack, recordNullAnalysisResult, setNullResultsNoPeerValid, setReferenceVariable`

    - ### Methods inherited from class accrue.analysis.ext.ExtTerm

      `flowDispatch`

    - ### Methods inherited from class accrue.analysis.ext.AccrueExt_c

      `enclosingFinallyDepth, ext, getAnalysisResult, getAnalysisResult, getAnalysisResult, lang, recordAnalysisResult, recordAnalysisResult, recordAnalysisResult, removeAnalysisResult, removeAnalysisResult, removeAnalysisResult, setEnclosingFinallyDepth`

    - ### Methods inherited from class polyglot.ast.Ext_c

      `addDecls, buildTypes, buildTypesEnter, checkConstants, childExpectedType, copy, copy, copy, disambiguate, disambiguateEnter, disambiguateOverride, dump, dump, dump, dump, dump, enterChildScope, enterScope, exceptionCheck, exceptionCheckEnter, ext, ext, extRewrite, extRewriteEnter, init, initPred, node, pred, prettyPrint, prettyPrint, prettyPrint, prettyPrint, prettyPrint, print, printBlock, printSubStmt, superLang, throwTypes, toString, translate, typeCheck, typeCheckEnter, typeCheckOverride, visitChild, visitChildren, visitList`

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

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

    - ### Methods inherited from interface polyglot.ast.Ext

      `dump, ext, ext, init, initPred, node, pred`

    - ### Methods inherited from interface polyglot.ast.NodeOps

      `addDecls, buildTypes, buildTypesEnter, checkConstants, childExpectedType, copy, copy, disambiguate, disambiguateEnter, disambiguateOverride, dump, dump, dump, dump, enterChildScope, enterScope, exceptionCheck, exceptionCheckEnter, extRewrite, extRewriteEnter, prettyPrint, prettyPrint, prettyPrint, prettyPrint, prettyPrint, throwTypes, translate, typeCheck, typeCheckEnter, typeCheckOverride, visitChild, visitChildren, visitList`

    - ### Methods inherited from interface polyglot.util.Copy

      `copy`

- - ### Constructor Detail

    - #### ExtField

          public ExtField()

  - ### Method Detail

    - #### registerPointerStmts

          public void registerPointerStmts(StmtRegistrar registrar,
                                  RegisterPointerStmtsVisitor v)

      Description copied from class: `ExtExpr`
      This method needs to ensure that: 1. For all expressions of reference type, there is a local node 2. That local node has been assigned to appropriately, based on the semantics of the expression 3. Exceptions have been assigned to the appropriate handlers (including exceptions that may be generated by this expression).
      Specified by:
        `registerPointerStmts` in interface `AccrueExt`
      Overrides:
        `registerPointerStmts` in class `ExtExpr`

    - #### throwTypes

          public java.util.Collection<ThrowableType> throwTypes(polyglot.types.TypeSystem ts,
                                                       AnalysisContext context)

      Description copied from class: `ExtTerm`
      Get the collection of types of exceptions that might be thrown
      Overrides:
        `throwTypes` in class `ExtTerm`
      Parameters:
        `ts` - Polyglot type system
        `context` - Data flow analysis context
      Returns:
        collection of types of exceptions that might be thrown

    - #### flowDispatch

          public <DFItem extends polyglot.visit.DataFlow.Item> java.util.Map<polyglot.visit.FlowGraph.EdgeKey,DFItem> flowDispatch(DataFlowDispatch<DFItem> d,
                                                                                                                          DFItem dfIn,
                                                                                                                          polyglot.visit.FlowGraph<DFItem> graph,
                                                                                                                          polyglot.visit.FlowGraph.Peer<DFItem> peer)

      Description copied from class: `ExtTerm`
      Dispatch function. Subclasses of ExtTerm should override this method to invoke the appropriate method of `DataFlowDispatch d`. This helps extensions implement and extend data flow analyses.
      Overrides:
        `flowDispatch` in class `ExtTerm`
      Returns: