Package com.ibm.wala.cast.ipa.callgraph
Class AstSSAPropagationCallGraphBuilder.AstConstraintVisitor
- java.lang.Object
-
- com.ibm.wala.ssa.SSAInstruction.Visitor
-
- com.ibm.wala.ipa.callgraph.propagation.SSAPropagationCallGraphBuilder.ConstraintVisitor
-
- com.ibm.wala.cast.ipa.callgraph.AstSSAPropagationCallGraphBuilder.AstConstraintVisitor
-
- All Implemented Interfaces:
AstInstructionVisitor
,SSAInstruction.IVisitor
- Enclosing class:
- AstSSAPropagationCallGraphBuilder
protected static class AstSSAPropagationCallGraphBuilder.AstConstraintVisitor extends SSAPropagationCallGraphBuilder.ConstraintVisitor implements AstInstructionVisitor
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static interface
AstSSAPropagationCallGraphBuilder.AstConstraintVisitor.ReflectedFieldAction
-
Nested classes/interfaces inherited from class com.ibm.wala.ipa.callgraph.propagation.SSAPropagationCallGraphBuilder.ConstraintVisitor
SSAPropagationCallGraphBuilder.ConstraintVisitor.DefaultInvariantComputer, SSAPropagationCallGraphBuilder.ConstraintVisitor.InvariantComputer
-
-
Field Summary
-
Fields inherited from class com.ibm.wala.ipa.callgraph.propagation.SSAPropagationCallGraphBuilder.ConstraintVisitor
basicBlock, builder, du, ir, node, symbolTable, system
-
-
Constructor Summary
Constructors Constructor Description AstConstraintVisitor(AstSSAPropagationCallGraphBuilder builder, CGNode node)
-
Method Summary
-
Methods inherited from class com.ibm.wala.ipa.callgraph.propagation.SSAPropagationCallGraphBuilder.ConstraintVisitor
contentsAreInvariant, contentsAreInvariant, doVisitArrayLoad, doVisitArrayStore, getAnalysisCache, getBasicBlock, getClassHierarchy, getFilteredPointerKeyForLocal, getInstanceKeyForAllocation, getInstanceKeyForClassObject, getInstanceKeyForConstant, getInstanceKeyForMultiNewArray, getInstanceKeyForPEI, getInvariantContents, getInvariantContents, getOptions, getPointerKeyForArrayContents, getPointerKeyForExceptionalReturnValue, getPointerKeyForInstanceField, getPointerKeyForLocal, getPointerKeyForReturnValue, getPointerKeyForStaticField, getTargetForCall, hasNoInterestingUses, isRootType, processClassInitializer, processPutField, processPutStatic, setBasicBlock, visitArrayLoad, visitArrayStore, visitCheckCast, visitGet, visitGetCaughtException, visitGetInternal, visitInvoke, visitInvokeInternal, visitLoadMetadata, visitNew, visitPhi, visitPi, visitPutInternal, visitReturn, visitThrow
-
Methods inherited from class com.ibm.wala.ssa.SSAInstruction.Visitor
visitArrayLength, visitBinaryOp, visitComparison, visitConditionalBranch, visitConversion, visitGoto, visitInstanceof, visitMonitor, visitSwitch, visitUnaryOp
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.ibm.wala.ssa.SSAInstruction.IVisitor
visitArrayLength, visitArrayLoad, visitArrayStore, visitBinaryOp, visitCheckCast, visitComparison, visitConditionalBranch, visitConversion, visitGet, visitGetCaughtException, visitGoto, visitInstanceof, visitInvoke, visitLoadMetadata, visitMonitor, visitNew, visitPhi, visitPi, visitReturn, visitSwitch, visitThrow, visitUnaryOp
-
-
-
-
Constructor Detail
-
AstConstraintVisitor
public AstConstraintVisitor(AstSSAPropagationCallGraphBuilder builder, CGNode node)
-
-
Method Detail
-
getBuilder
protected AstSSAPropagationCallGraphBuilder getBuilder()
- Overrides:
getBuilder
in classSSAPropagationCallGraphBuilder.ConstraintVisitor
-
getPointerKeyForObjectCatalog
public PointerKey getPointerKeyForObjectCatalog(InstanceKey I)
-
getPointerKeysForReflectedFieldRead
public Iterator<PointerKey> getPointerKeysForReflectedFieldRead(InstanceKey I, InstanceKey F)
-
getPointerKeysForReflectedFieldWrite
public Iterator<PointerKey> getPointerKeysForReflectedFieldWrite(InstanceKey I, InstanceKey F)
-
visitAstLexicalRead
public void visitAstLexicalRead(AstLexicalRead instruction)
- Specified by:
visitAstLexicalRead
in interfaceAstInstructionVisitor
-
visitAstLexicalWrite
public void visitAstLexicalWrite(AstLexicalWrite instruction)
- Specified by:
visitAstLexicalWrite
in interfaceAstInstructionVisitor
-
visitAstGlobalRead
public void visitAstGlobalRead(AstGlobalRead instruction)
- Specified by:
visitAstGlobalRead
in interfaceAstInstructionVisitor
-
visitAstGlobalWrite
public void visitAstGlobalWrite(AstGlobalWrite instruction)
- Specified by:
visitAstGlobalWrite
in interfaceAstInstructionVisitor
-
visitPut
public void visitPut(SSAPutInstruction inst)
- Specified by:
visitPut
in interfaceSSAInstruction.IVisitor
- Overrides:
visitPut
in classSSAPropagationCallGraphBuilder.ConstraintVisitor
-
visitAssert
public void visitAssert(AstAssertInstruction instruction)
- Specified by:
visitAssert
in interfaceAstInstructionVisitor
-
visitEachElementHasNext
public void visitEachElementHasNext(EachElementHasNextInstruction inst)
- Specified by:
visitEachElementHasNext
in interfaceAstInstructionVisitor
-
visitEachElementGet
public void visitEachElementGet(EachElementGetInstruction inst)
- Specified by:
visitEachElementGet
in interfaceAstInstructionVisitor
-
visitIsDefined
public void visitIsDefined(AstIsDefinedInstruction inst)
- Specified by:
visitIsDefined
in interfaceAstInstructionVisitor
-
visitEcho
public void visitEcho(AstEchoInstruction inst)
- Specified by:
visitEcho
in interfaceAstInstructionVisitor
-
newFieldOperationFieldConstant
protected void newFieldOperationFieldConstant(CGNode opNode, boolean isLoadOperation, AstSSAPropagationCallGraphBuilder.AstConstraintVisitor.ReflectedFieldAction action, int objVn, InstanceKey[] fieldsKeys)
-
newFieldFullOperation
protected void newFieldFullOperation(boolean isLoadOperation, AstSSAPropagationCallGraphBuilder.AstConstraintVisitor.ReflectedFieldAction action, PointerKey objKey, PointerKey fieldKey)
-
newFieldOperationOnlyFieldConstant
protected void newFieldOperationOnlyFieldConstant(boolean isLoadOperation, AstSSAPropagationCallGraphBuilder.AstConstraintVisitor.ReflectedFieldAction action, PointerKey objKey, InstanceKey[] fieldsKeys)
-
newFieldOperationOnlyObjectConstant
protected void newFieldOperationOnlyObjectConstant(boolean isLoadOperation, AstSSAPropagationCallGraphBuilder.AstConstraintVisitor.ReflectedFieldAction action, PointerKey fieldKey, InstanceKey[] objKeys)
-
newFieldOperationObjectAndFieldConstant
protected void newFieldOperationObjectAndFieldConstant(boolean isLoadOperation, AstSSAPropagationCallGraphBuilder.AstConstraintVisitor.ReflectedFieldAction action, InstanceKey[] objKeys, InstanceKey[] fieldsKeys)
-
newFieldWrite
public void newFieldWrite(CGNode opNode, int objVn, int fieldsVn, int rhsVn)
-
newFieldWrite
public void newFieldWrite(CGNode opNode, int objVn, int fieldsVn, InstanceKey[] rhsFixedValues)
-
newFieldWrite
public void newFieldWrite(CGNode opNode, int objVn, InstanceKey[] fieldKeys, InstanceKey[] rhsValues)
-
newFieldWrite
public void newFieldWrite(CGNode opNode, int objVn, int fieldsVn, PointerKey rhs)
-
newFieldWrite
public void newFieldWrite(CGNode opNode, int objVn, InstanceKey[] fieldKeys, PointerKey rhs)
-
newFieldRead
protected void newFieldRead(CGNode opNode, int objVn, int fieldsVn, int lhsVn)
-
newFieldRead
protected void newFieldRead(CGNode opNode, int objVn, int fieldsVn, PointerKey lhs)
-
-