public abstract class LibrarySignature<A extends Ordered<A>,T extends AbstractValue<T>>
extends java.lang.Object
Constructor and Description |
---|
LibrarySignature() |
Modifier and Type | Method and Description |
---|---|
protected FinalVarContext<T> |
makeFinalVarContext(java.util.Set<ExitMap.Key> expectedExits,
VarContext<T> normal,
VarContext<T> exceptional,
AnalysisUtilVarContext<A,T> autil) |
FinalVarContext<T> |
process(polyglot.types.ProcedureInstance pi,
AnalysisContext calleeContext,
HContext receiver,
VarContext<T> input,
T receiverAbsVal,
java.util.List<T> argAbsVals,
AnalysisUtilVarContext<A,T> autil,
java.util.Set<ExitMap.Key> expectedExits,
polyglot.ast.Node node)
Takes in the caller's context input just before the call (the argument AbsVals are no longer on the stack, and neither is the receiver AbsVal) and should return the _caller's_ context after the call to the procedure instance
That is, if pi is meant to return a value, process should push that value onto the stack.
|
FinalVarContext<T> |
process(polyglot.types.ProcedureInstance pi,
AnalysisContext calleeContext,
HContext receiver,
VarContext<T> input,
T receiverAbsVal,
java.util.List<T> argAbsVals,
AnalysisUtilVarContextDataFlow<A,T> autil,
java.util.Set<ExitMap.Key> expectedExits,
DataFlowNodeIdentifier callSite)
Takes in the caller's context input just before the call (the argument AbsVals are no longer on the stack, and neither is the receiver AbsVal) and should return the _caller's_ context after the call to the procedure instance
That is, if pi is meant to return a value, process should push that value onto the stack.
|
public FinalVarContext<T> process(polyglot.types.ProcedureInstance pi, AnalysisContext calleeContext, HContext receiver, VarContext<T> input, T receiverAbsVal, java.util.List<T> argAbsVals, AnalysisUtilVarContext<A,T> autil, java.util.Set<ExitMap.Key> expectedExits, polyglot.ast.Node node)
public FinalVarContext<T> process(polyglot.types.ProcedureInstance pi, AnalysisContext calleeContext, HContext receiver, VarContext<T> input, T receiverAbsVal, java.util.List<T> argAbsVals, AnalysisUtilVarContextDataFlow<A,T> autil, java.util.Set<ExitMap.Key> expectedExits, DataFlowNodeIdentifier callSite)
protected FinalVarContext<T> makeFinalVarContext(java.util.Set<ExitMap.Key> expectedExits, VarContext<T> normal, VarContext<T> exceptional, AnalysisUtilVarContext<A,T> autil)