accrue.jl5

## Interface JL5DataFlowDispatch<DFItem extends polyglot.visit.DataFlow.Item>

- Type Parameters:
    `DFItem` - dataflow item type
  All Superinterfaces:
    DataFlowDispatch<DFItem>
  All Known Implementing Classes:
    NotNullDataFlow

      public interface JL5DataFlowDispatch<DFItem extends polyglot.visit.DataFlow.Item>
      extends DataFlowDispatch<DFItem>

  Helper interface to assist in dispatch for dataflow implementations that support JL5.

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.util.Map<polyglot.visit.FlowGraph.EdgeKey,DFItem>` | `flowEnumConstant(polyglot.ext.jl5.ast.EnumConstant n, DFItem dfIn, polyglot.visit.FlowGraph<DFItem> graph, polyglot.visit.FlowGraph.Peer<DFItem> peer)` Compute the dataflow for `n`
    `java.util.Map<polyglot.visit.FlowGraph.EdgeKey,DFItem>` | `flowEnumConstantDecl(polyglot.ext.jl5.ast.EnumConstantDecl n, DFItem dfIn, polyglot.visit.FlowGraph<DFItem> graph, polyglot.visit.FlowGraph.Peer<DFItem> peer)` Compute the dataflow for `n`
    `java.util.Map<polyglot.visit.FlowGraph.EdgeKey,DFItem>` | `flowExtendedFor(polyglot.ext.jl5.ast.ExtendedFor n, DFItem dfIn, polyglot.visit.FlowGraph<DFItem> graph, polyglot.visit.FlowGraph.Peer<DFItem> peer)` Compute the dataflow for `n`
    `java.util.Map<polyglot.visit.FlowGraph.EdgeKey,DFItem>` | `flowParamTypeNode(polyglot.ext.jl5.ast.ParamTypeNode n, DFItem dfIn, polyglot.visit.FlowGraph<DFItem> graph, polyglot.visit.FlowGraph.Peer<DFItem> peer)` Compute the dataflow for `n`

    - ### Methods inherited from interface accrue.analysis.interprocanalysis.DataFlowDispatch

      `flowArrayAccess, flowArrayAccessAssign, flowArrayInit, flowAssert, flowBinary, flowBlock, flowBranch, flowCall, flowCast, flowCatch, flowConditional, flowConstructorCall, flowConstructorDecl, flowDo, flowEmpty, flowEval, flowExpr, flowField, flowFieldAssign, flowFieldDecl, flowFinally, flowFormal, flowIf, flowInitializer, flowInstanceof, flowLabeled, flowLit, flowLocal, flowLocalAssign, flowLocalDecl, flowMethodDecl, flowNew, flowNewArray, flowReturn, flowSpecial, flowSuppress, flowSynchronized, flowThrow, flowTry, flowTypeNode, flowUnary, flowWhile, ignoreNode`

- - ### Method Detail

    - #### flowEnumConstantDecl

          java.util.Map<polyglot.visit.FlowGraph.EdgeKey,DFItem> flowEnumConstantDecl(polyglot.ext.jl5.ast.EnumConstantDecl n,
                                                                                    DFItem dfIn,
                                                                                    polyglot.visit.FlowGraph<DFItem> graph,
                                                                                    polyglot.visit.FlowGraph.Peer<DFItem> peer)

      Compute the dataflow for `n`
      Parameters:
        `n` - AST node to compute the dataflow for
        `dfIn` - input dataflow item
        `graph` - dataflow graph
        `peer` - occurrence of the dataflow node in the flowgraph
      Returns:
        A map of exit edge keys to dataflow items

    - #### flowEnumConstant

          java.util.Map<polyglot.visit.FlowGraph.EdgeKey,DFItem> flowEnumConstant(polyglot.ext.jl5.ast.EnumConstant n,
                                                                                DFItem dfIn,
                                                                                polyglot.visit.FlowGraph<DFItem> graph,
                                                                                polyglot.visit.FlowGraph.Peer<DFItem> peer)

      Compute the dataflow for `n`
      Parameters:
        `n` - AST node to compute the dataflow for
        `dfIn` - input dataflow item
        `graph` - dataflow graph
        `peer` - occurrence of the dataflow node in the flowgraph
      Returns:
        A map of exit edge keys to dataflow items

    - #### flowExtendedFor

          java.util.Map<polyglot.visit.FlowGraph.EdgeKey,DFItem> flowExtendedFor(polyglot.ext.jl5.ast.ExtendedFor n,
                                                                               DFItem dfIn,
                                                                               polyglot.visit.FlowGraph<DFItem> graph,
                                                                               polyglot.visit.FlowGraph.Peer<DFItem> peer)

      Compute the dataflow for `n`
      Parameters:
        `n` - AST node to compute the dataflow for
        `dfIn` - input dataflow item
        `graph` - dataflow graph
        `peer` - occurrence of the dataflow node in the flowgraph
      Returns:
        A map of exit edge keys to dataflow items

    - #### flowParamTypeNode

          java.util.Map<polyglot.visit.FlowGraph.EdgeKey,DFItem> flowParamTypeNode(polyglot.ext.jl5.ast.ParamTypeNode n,
                                                                                 DFItem dfIn,
                                                                                 polyglot.visit.FlowGraph<DFItem> graph,
                                                                                 polyglot.visit.FlowGraph.Peer<DFItem> peer)

      Compute the dataflow for `n`
      Parameters:
        `n` - AST node to compute the dataflow for
        `dfIn` - input dataflow item
        `graph` - dataflow graph
        `peer` - occurrence of the dataflow node in the flowgraph
      Returns:
        A map of exit edge keys to dataflow items