public class ExtEnumConstantDecl extends ExtTerm implements ExtAlloc, ExtProcedureCall
Constructor and Description |
---|
ExtEnumConstantDecl() |
Modifier and Type | Method and Description |
---|---|
boolean |
canTerminateNormally(AnalysisContext context) |
<DFItem extends polyglot.visit.DataFlow.Item> |
flowDispatch(DataFlowDispatch<DFItem> d,
DFItem dfIn,
polyglot.visit.FlowGraph<DFItem> graph,
polyglot.visit.FlowGraph.Peer<DFItem> peer)
Dispatch function.
|
AllocSiteNode |
getAllocNode(ConstructorContext constructorContext)
Get the AllocSiteNode representing the allocation of a new object
(within the specific constructor context).
|
CallSiteNode |
getCallSiteNode() |
void |
recordPreciseExResults(AnalysisContext context,
java.util.Set<ThrowableType> throwTypes,
boolean canTerminateNormally) |
void |
registerPointerStmts(StmtRegistrar registrar,
RegisterPointerStmtsVisitor v) |
void |
setAllocNode(AllocSiteNode allocNode,
ConstructorContext constructorContext)
Set the AllocSiteNode representing the allocation of a new object
(within the specific constructor context).
|
void |
setCallSiteNode(CallSiteNode callSiteNode) |
java.util.Collection<ThrowableType> |
throwTypes(polyglot.types.TypeSystem ts,
AnalysisContext context)
Get the collection of types of exceptions that might be thrown
|
flowDispatch
enclosingFinallyDepth, ext, getAnalysisResult, getAnalysisResult, getAnalysisResult, lang, numArgumentsOnResultStack, recordAnalysisResult, recordAnalysisResult, recordAnalysisResult, removeAnalysisResult, removeAnalysisResult, removeAnalysisResult, setEnclosingFinallyDepth
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
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
enclosingFinallyDepth, getAnalysisResult, getAnalysisResult, getAnalysisResult, numArgumentsOnResultStack, recordAnalysisResult, recordAnalysisResult, recordAnalysisResult, removeAnalysisResult, removeAnalysisResult, removeAnalysisResult, setEnclosingFinallyDepth
addDecls, buildTypes, buildTypesEnter, checkConstants, childExpectedType, copy, copy, disambiguate, disambiguateEnter, disambiguateOverride, dump, dump, dump, dump, enterChildScope, enterScope, exceptionCheck, exceptionCheckEnter, extRewrite, extRewriteEnter, lang, prettyPrint, prettyPrint, prettyPrint, prettyPrint, prettyPrint, throwTypes, translate, typeCheck, typeCheckEnter, typeCheckOverride, visitChild, visitChildren, visitList
public void registerPointerStmts(StmtRegistrar registrar, RegisterPointerStmtsVisitor v)
registerPointerStmts
in interface AccrueExt
registerPointerStmts
in class AccrueExt_c
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)
ExtTerm
DataFlowDispatch d
.
This helps extensions implement and extend data flow analyses.flowDispatch
in class ExtTerm
public void recordPreciseExResults(AnalysisContext context, java.util.Set<ThrowableType> throwTypes, boolean canTerminateNormally)
recordPreciseExResults
in interface ExtProcedureCall
public java.util.Collection<ThrowableType> throwTypes(polyglot.types.TypeSystem ts, AnalysisContext context)
ExtTerm
throwTypes
in interface ExtProcedureCall
throwTypes
in class ExtTerm
ts
- Polyglot type systemcontext
- Data flow analysis contextpublic boolean canTerminateNormally(AnalysisContext context)
canTerminateNormally
in interface ExtProcedureCall
public void setAllocNode(AllocSiteNode allocNode, ConstructorContext constructorContext)
ExtAlloc
setAllocNode
in interface ExtAlloc
public AllocSiteNode getAllocNode(ConstructorContext constructorContext)
ExtAlloc
getAllocNode
in interface ExtAlloc
public void setCallSiteNode(CallSiteNode callSiteNode)
setCallSiteNode
in interface ExtProcedureCall
public CallSiteNode getCallSiteNode()
getCallSiteNode
in interface ExtProcedureCall