public class ExtExpr extends ExtTerm
| Constructor and Description |
|---|
ExtExpr() |
| Modifier and Type | Method and Description |
|---|---|
java.util.Set<ConstructorContext> |
getConstructorContexts() |
ReferenceVariable |
getReferenceVariable(ConstructorContext constructorContext) |
boolean |
mayBeNull(AnalysisContext context) |
boolean |
mayBeNull(AnalysisContext context,
polyglot.visit.FlowGraph.PeerKey peerKey) |
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 |
recordNullAnalysisResult(AnalysisContext context,
polyglot.visit.FlowGraph.PeerKey peerKey,
boolean maybeNull) |
void |
registerPointerStmts(StmtRegistrar registrar,
RegisterPointerStmtsVisitor v)
This method needs to ensure that: 1.
|
void |
setNullResultsNoPeerValid() |
void |
setReferenceVariable(ReferenceVariable node,
ConstructorContext constructorContext) |
flowDispatch, flowDispatch, 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 setReferenceVariable(ReferenceVariable node, ConstructorContext constructorContext)
public ReferenceVariable getReferenceVariable(ConstructorContext constructorContext)
public java.util.Set<ConstructorContext> getConstructorContexts()
public void registerPointerStmts(StmtRegistrar registrar, RegisterPointerStmtsVisitor v)
registerPointerStmts in interface AccrueExtregisterPointerStmts in class AccrueExt_cpublic int numArgumentsOnResultStack()
AccrueExtnumArgumentsOnResultStack in interface AccrueExtnumArgumentsOnResultStack in class AccrueExt_cVarContextDataFlowpublic boolean mayBeNull(AnalysisContext context, polyglot.visit.FlowGraph.PeerKey peerKey)
public boolean mayBeNull(AnalysisContext context)
public void recordNullAnalysisResult(AnalysisContext context, polyglot.visit.FlowGraph.PeerKey peerKey, boolean maybeNull)
public void setNullResultsNoPeerValid()