public class StmtVirtualMethodCall extends StmtProcedureCall
StmtProcedureCall.ExceptionHandlerPointsToGraphNode
Modifier and Type | Field and Description |
---|---|
protected java.util.List<ReferenceVariable> |
actuals |
protected java.util.List<StmtRegistrar.ExceptionHandlerReferenceVariable> |
exceptionHandlers |
protected polyglot.types.MethodInstance |
pi |
protected java.util.Map<polyglot.types.Type,ReferenceVariable> |
procedureThrows |
protected ReferenceVariable |
receiver |
protected ReferenceVariable |
result |
callSiteNode
origin
Constructor and Description |
---|
StmtVirtualMethodCall(ReferenceVariable result,
ReferenceVariable receiver,
CallSiteNode callSiteNode,
polyglot.types.MethodInstance pi,
java.util.List<ReferenceVariable> actuals,
java.util.List<StmtRegistrar.ExceptionHandlerReferenceVariable> exceptionHandlers,
java.util.Map<polyglot.types.Type,ReferenceVariable> procedureThrows,
polyglot.util.Position origin,
polyglot.types.CodeInstance code) |
Modifier and Type | Method and Description |
---|---|
boolean |
process(CContext context,
PointsToGraph g,
StmtRegistrar registrar,
HeapAbstractionFactory af,
PointsToEngine.StmtAndContext sac)
Add appropriate edges to the graph g given the context for the LocalNodes and
ThisNode.
|
static boolean |
process(ReferenceVariableReplica result,
ReferenceVariableReplica receiver,
CallSiteNode callSiteNode,
polyglot.types.MethodInstance pi,
java.util.List<ReferenceVariableReplica> args,
java.util.List<StmtProcedureCall.ExceptionHandlerPointsToGraphNode> exHandlers,
java.util.Map<polyglot.types.Type,ReferenceVariableReplica> procThrows,
polyglot.types.CodeInstance containingCode,
CContext context,
PointsToGraph g,
StmtRegistrar registrar,
polyglot.util.Position origin,
HeapAbstractionFactory af,
PointsToEngine.StmtAndContext sac) |
java.lang.String |
toString() |
addEdgesForCall, convert, convert, convert2
equals, hashCode
protected final ReferenceVariable result
protected final ReferenceVariable receiver
protected final polyglot.types.MethodInstance pi
protected final java.util.List<ReferenceVariable> actuals
protected final java.util.List<StmtRegistrar.ExceptionHandlerReferenceVariable> exceptionHandlers
protected final java.util.Map<polyglot.types.Type,ReferenceVariable> procedureThrows
public StmtVirtualMethodCall(ReferenceVariable result, ReferenceVariable receiver, CallSiteNode callSiteNode, polyglot.types.MethodInstance pi, java.util.List<ReferenceVariable> actuals, java.util.List<StmtRegistrar.ExceptionHandlerReferenceVariable> exceptionHandlers, java.util.Map<polyglot.types.Type,ReferenceVariable> procedureThrows, polyglot.util.Position origin, polyglot.types.CodeInstance code)
public java.lang.String toString()
toString
in class PointsToStmt
public boolean process(CContext context, PointsToGraph g, StmtRegistrar registrar, HeapAbstractionFactory af, PointsToEngine.StmtAndContext sac)
PointsToStmt
process
in class PointsToStmt
public static boolean process(ReferenceVariableReplica result, ReferenceVariableReplica receiver, CallSiteNode callSiteNode, polyglot.types.MethodInstance pi, java.util.List<ReferenceVariableReplica> args, java.util.List<StmtProcedureCall.ExceptionHandlerPointsToGraphNode> exHandlers, java.util.Map<polyglot.types.Type,ReferenceVariableReplica> procThrows, polyglot.types.CodeInstance containingCode, CContext context, PointsToGraph g, StmtRegistrar registrar, polyglot.util.Position origin, HeapAbstractionFactory af, PointsToEngine.StmtAndContext sac)