public class ExtConditional extends ExtExpr
| Constructor and Description |
|---|
ExtConditional() |
| Modifier and Type | Method and Description |
|---|---|
<DFItem extends polyglot.visit.DataFlow.Item> |
flowDispatch(DataFlowDispatch<DFItem> dataflow,
DFItem dfIn,
polyglot.visit.FlowGraph<DFItem> graph,
polyglot.visit.FlowGraph.Peer<DFItem> peer)
Dispatch function.
|
int |
numArgumentsOnResultStack()
During a dataflow analysis, when this term is encountered, how many
arguments should there be on the expression result stack? For example,
for an addition (e1 + e2) there will be two, one for each operand.
|
void |
registerPointerStmts(StmtRegistrar registrar,
RegisterPointerStmtsVisitor v)
This method needs to ensure that: 1.
|
getConstructorContexts, getReferenceVariable, mayBeNull, mayBeNull, recordNullAnalysisResult, setNullResultsNoPeerValid, setReferenceVariableflowDispatch, throwTypesenclosingFinallyDepth, ext, getAnalysisResult, getAnalysisResult, getAnalysisResult, lang, recordAnalysisResult, recordAnalysisResult, recordAnalysisResult, removeAnalysisResult, removeAnalysisResult, removeAnalysisResult, setEnclosingFinallyDepthaddDecls, 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, visitListclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitaddDecls, 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, visitListpublic void registerPointerStmts(StmtRegistrar registrar, RegisterPointerStmtsVisitor v)
ExtExprregisterPointerStmts in interface AccrueExtregisterPointerStmts in class ExtExprpublic int numArgumentsOnResultStack()
AccrueExtnumArgumentsOnResultStack in interface AccrueExtnumArgumentsOnResultStack in class ExtExprVarContextDataFlowpublic <DFItem extends polyglot.visit.DataFlow.Item> java.util.Map<polyglot.visit.FlowGraph.EdgeKey,DFItem> flowDispatch(DataFlowDispatch<DFItem> dataflow, DFItem dfIn, polyglot.visit.FlowGraph<DFItem> graph, polyglot.visit.FlowGraph.Peer<DFItem> peer)
ExtTermDataFlowDispatch d .
This helps extensions implement and extend data flow analyses.flowDispatch in class ExtTerm