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
- Direct Known Subclasses:
AstJavaSSAPropagationCallGraphBuilder.AstJavaConstraintVisitor, JSSSAPropagationCallGraphBuilder.JSConstraintVisitor
- Enclosing class:
AstSSAPropagationCallGraphBuilder
protected static class AstSSAPropagationCallGraphBuilder.AstConstraintVisitor
extends SSAPropagationCallGraphBuilder.ConstraintVisitor
implements AstInstructionVisitor
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected classprotected static interfaceNested classes/interfaces inherited from class SSAPropagationCallGraphBuilder.ConstraintVisitor
SSAPropagationCallGraphBuilder.ConstraintVisitor.DefaultInvariantComputer, SSAPropagationCallGraphBuilder.ConstraintVisitor.InvariantComputer -
Field Summary
Fields inherited from class SSAPropagationCallGraphBuilder.ConstraintVisitor
basicBlock, builder, du, ir, node, symbolTable, system -
Constructor Summary
ConstructorsConstructorDescriptionAstConstraintVisitor(AstSSAPropagationCallGraphBuilder builder, CGNode node) -
Method Summary
Modifier and TypeMethodDescriptionprotected AstSSAPropagationCallGraphBuilderprotected voidnewFieldFullOperation(boolean isLoadOperation, AstSSAPropagationCallGraphBuilder.AstConstraintVisitor.ReflectedFieldAction action, PointerKey objKey, PointerKey fieldKey) protected voidnewFieldOperation(CGNode opNode, int objVn, int fieldsVn, boolean isLoadOperation, AstSSAPropagationCallGraphBuilder.AstConstraintVisitor.ReflectedFieldAction action) protected voidnewFieldOperationFieldConstant(CGNode opNode, boolean isLoadOperation, AstSSAPropagationCallGraphBuilder.AstConstraintVisitor.ReflectedFieldAction action, int objVn, InstanceKey[] fieldsKeys) protected voidnewFieldOperationObjectAndFieldConstant(boolean isLoadOperation, AstSSAPropagationCallGraphBuilder.AstConstraintVisitor.ReflectedFieldAction action, InstanceKey[] objKeys, InstanceKey[] fieldsKeys) protected voidnewFieldOperationOnlyFieldConstant(boolean isLoadOperation, AstSSAPropagationCallGraphBuilder.AstConstraintVisitor.ReflectedFieldAction action, PointerKey objKey, InstanceKey[] fieldsKeys) protected voidnewFieldOperationOnlyObjectConstant(boolean isLoadOperation, AstSSAPropagationCallGraphBuilder.AstConstraintVisitor.ReflectedFieldAction action, PointerKey fieldKey, InstanceKey[] objKeys) protected voidnewFieldRead(CGNode opNode, int objVn, int fieldsVn, int lhsVn) protected voidnewFieldRead(CGNode opNode, int objVn, int fieldsVn, PointerKey lhs) voidnewFieldWrite(CGNode opNode, int objVn, int fieldsVn, int rhsVn) voidnewFieldWrite(CGNode opNode, int objVn, int fieldsVn, InstanceKey[] rhsFixedValues) voidnewFieldWrite(CGNode opNode, int objVn, int fieldsVn, PointerKey rhs) voidnewFieldWrite(CGNode opNode, int objVn, InstanceKey[] fieldKeys, InstanceKey[] rhsValues) voidnewFieldWrite(CGNode opNode, int objVn, InstanceKey[] fieldKeys, PointerKey rhs) voidvisitAstGlobalRead(AstGlobalRead instruction) voidvisitAstGlobalWrite(AstGlobalWrite instruction) voidvisitAstLexicalRead(AstLexicalRead instruction) voidvisitAstLexicalWrite(AstLexicalWrite instruction) voidvoidvisitPropertyRead(AstPropertyRead instruction) voidvisitPropertyWrite(AstPropertyWrite instruction) voidvisitPut(SSAPutInstruction inst) Methods inherited from class 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, visitThrowMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface AstInstructionVisitor
visitAssert, visitEachElementHasNext, visitEcho, visitIsDefined, visitYieldMethods inherited from interface 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 Details
-
AstConstraintVisitor
-
-
Method Details
-
getBuilder
- Overrides:
getBuilderin classSSAPropagationCallGraphBuilder.ConstraintVisitor
-
getPointerKeyForObjectCatalog
-
getPointerKeysForReflectedFieldRead
-
getPointerKeysForReflectedFieldWrite
-
visitPropertyRead
- Specified by:
visitPropertyReadin interfaceAstInstructionVisitor
-
visitPropertyWrite
- Specified by:
visitPropertyWritein interfaceAstInstructionVisitor
-
visitAstLexicalRead
- Specified by:
visitAstLexicalReadin interfaceAstInstructionVisitor
-
visitAstLexicalWrite
- Specified by:
visitAstLexicalWritein interfaceAstInstructionVisitor
-
visitAstGlobalRead
- Specified by:
visitAstGlobalReadin interfaceAstInstructionVisitor
-
visitAstGlobalWrite
- Specified by:
visitAstGlobalWritein interfaceAstInstructionVisitor
-
visitPut
- Specified by:
visitPutin interfaceSSAInstruction.IVisitor- Overrides:
visitPutin classSSAPropagationCallGraphBuilder.ConstraintVisitor
-
visitEachElementGet
- Specified by:
visitEachElementGetin interfaceAstInstructionVisitor
-
newFieldOperation
protected void newFieldOperation(CGNode opNode, int objVn, int fieldsVn, boolean isLoadOperation, AstSSAPropagationCallGraphBuilder.AstConstraintVisitor.ReflectedFieldAction action) -
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
-
newFieldWrite
-
newFieldWrite
public void newFieldWrite(CGNode opNode, int objVn, InstanceKey[] fieldKeys, InstanceKey[] rhsValues) -
newFieldWrite
-
newFieldWrite
-
newFieldRead
-
fieldReadAction
protected AstSSAPropagationCallGraphBuilder.AstConstraintVisitor.ReflectedFieldAction fieldReadAction(PointerKey lhs) -
newFieldRead
-