|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectcom.ibm.wala.ssa.SSAInstruction.Visitor
com.ibm.wala.ipa.callgraph.propagation.SSAPropagationCallGraphBuilder.ConstraintVisitor
protected static class SSAPropagationCallGraphBuilder.ConstraintVisitor
A visitor that generates constraints based on statements in SSA form.
| Field Summary | |
|---|---|
protected SSAPropagationCallGraphBuilder |
builder
The governing call graph builder. |
protected DefUse |
du
Def-use information |
protected IR |
ir
The governing IR |
protected ExplicitCallGraph.ExplicitNode |
node
The node whose statements we are currently traversing |
protected SymbolTable |
symbolTable
Governing symbol table |
protected PropagationSystem |
system
The governing propagation system, into which constraints are added |
| Constructor Summary | |
|---|---|
SSAPropagationCallGraphBuilder.ConstraintVisitor(SSAPropagationCallGraphBuilder builder,
ExplicitCallGraph.ExplicitNode node)
|
|
| Methods inherited from class com.ibm.wala.ssa.SSAInstruction.Visitor |
|---|
visitArrayLength, visitBinaryOp, visitComparison, visitConditionalBranch, visitConversion, visitGoto, visitInstanceof, visitMonitor, visitPhi, visitSwitch, visitUnaryOp |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected final SSAPropagationCallGraphBuilder builder
protected final ExplicitCallGraph.ExplicitNode node
protected final IR ir
protected final PropagationSystem system
protected final SymbolTable symbolTable
protected final DefUse du
| Constructor Detail |
|---|
public SSAPropagationCallGraphBuilder.ConstraintVisitor(SSAPropagationCallGraphBuilder builder,
ExplicitCallGraph.ExplicitNode node)
| Method Detail |
|---|
protected SSAPropagationCallGraphBuilder getBuilder()
protected WarningSet getWarnings()
protected AnalysisOptions getOptions()
public PointerKey getPointerKeyForLocal(int valueNumber)
public FilteredPointerKey getFilteredPointerKeyForLocal(int valueNumber,
FilteredPointerKey.TypeFilter filter)
public PointerKey getPointerKeyForReturnValue()
public PointerKey getPointerKeyForExceptionalReturnValue()
public PointerKey getPointerKeyForStaticField(IField f)
public PointerKey getPointerKeyForInstanceField(InstanceKey I,
IField f)
public PointerKey getPointerKeyForArrayContents(InstanceKey I)
public InstanceKey getInstanceKeyForAllocation(NewSiteReference allocation)
public InstanceKey getInstanceKeyForMultiNewArray(NewSiteReference allocation,
int dim)
public InstanceKey getInstanceKeyForConstant(java.lang.Object S)
public java.lang.String getStringConstantForInstanceKey(InstanceKey I)
public InstanceKey getInstanceKeyForPEI(ProgramCounter instr,
TypeReference type)
public InstanceKey getInstanceKeyForClassObject(TypeReference type)
public CGNode getTargetForCall(CGNode caller,
CallSiteReference site,
InstanceKey iKey)
protected boolean contentsAreInvariant(SymbolTable symbolTable,
DefUse du,
int valueNumber)
protected InstanceKey[] getInvariantContents(int valueNumber)
protected InstanceKey[] getInvariantContents(SymbolTable symbolTable,
DefUse du,
CGNode node,
int valueNumber)
protected IClassHierarchy getClassHierarchy()
protected boolean hasNoInterestingUses(int vn)
protected boolean isRootType(IClass klass)
public void visitArrayLoad(SSAArrayLoadInstruction instruction)
visitArrayLoad in interface SSAInstruction.IVisitorvisitArrayLoad in class SSAInstruction.Visitorpublic void visitArrayStore(SSAArrayStoreInstruction instruction)
visitArrayStore in interface SSAInstruction.IVisitorvisitArrayStore in class SSAInstruction.Visitorpublic void visitCheckCast(SSACheckCastInstruction instruction)
visitCheckCast in interface SSAInstruction.IVisitorvisitCheckCast in class SSAInstruction.Visitorpublic void visitReturn(SSAReturnInstruction instruction)
visitReturn in interface SSAInstruction.IVisitorvisitReturn in class SSAInstruction.Visitorpublic void visitGet(SSAGetInstruction instruction)
visitGet in interface SSAInstruction.IVisitorvisitGet in class SSAInstruction.Visitor
protected void visitGetInternal(int lval,
int ref,
boolean isStatic,
FieldReference field)
public void visitPut(SSAPutInstruction instruction)
visitPut in interface SSAInstruction.IVisitorvisitPut in class SSAInstruction.Visitor
public void visitPutInternal(int rval,
int ref,
boolean isStatic,
FieldReference field)
public void visitInvoke(SSAInvokeInstruction instruction)
visitInvoke in interface SSAInstruction.IVisitorvisitInvoke in class SSAInstruction.Visitorprotected void visitInvokeInternal(SSAAbstractInvokeInstruction instruction)
public void visitNew(SSANewInstruction instruction)
visitNew in interface SSAInstruction.IVisitorvisitNew in class SSAInstruction.Visitorpublic void visitThrow(SSAThrowInstruction instruction)
visitThrow in interface SSAInstruction.IVisitorvisitThrow in class SSAInstruction.Visitorpublic void visitGetCaughtException(SSAGetCaughtExceptionInstruction instruction)
visitGetCaughtException in interface SSAInstruction.IVisitorvisitGetCaughtException in class SSAInstruction.Visitorpublic void visitPi(SSAPiInstruction instruction)
visitPi in interface SSAInstruction.IVisitorvisitPi in class SSAInstruction.Visitorpublic IBasicBlock getBasicBlock()
public void setBasicBlock(IBasicBlock block)
protected InstanceKey[][] computeInvariantParameters(SSAAbstractInvokeInstruction call)
public void visitLoadClass(SSALoadClassInstruction instruction)
visitLoadClass in interface SSAInstruction.IVisitorvisitLoadClass in class SSAInstruction.Visitor
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||