com.ibm.wala.cast.ipa.callgraph
Class AstSSAPropagationCallGraphBuilder.AstConstraintVisitor

java.lang.Object
  extended by com.ibm.wala.ssa.SSAInstruction.Visitor
      extended by com.ibm.wala.ipa.callgraph.propagation.SSAPropagationCallGraphBuilder.ConstraintVisitor
          extended by 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


Field Summary
 
Fields inherited from class com.ibm.wala.ipa.callgraph.propagation.SSAPropagationCallGraphBuilder.ConstraintVisitor
basicBlock, builder, du, ir, node, symbolTable, system
 
Constructor Summary
AstSSAPropagationCallGraphBuilder.AstConstraintVisitor(AstSSAPropagationCallGraphBuilder builder, CGNode node)
           
 
Method Summary
protected  AstSSAPropagationCallGraphBuilder getBuilder()
           
 PointerKey getPointerKeyForObjectCatalog(InstanceKey I)
           
 java.util.Iterator<PointerKey> getPointerKeysForReflectedFieldRead(InstanceKey I, InstanceKey F)
           
 java.util.Iterator<PointerKey> getPointerKeysForReflectedFieldWrite(InstanceKey I, InstanceKey F)
           
protected  void newFieldOperationFieldConstant(CGNode opNode, boolean isLoadOperation, com.ibm.wala.cast.ipa.callgraph.AstSSAPropagationCallGraphBuilder.AstConstraintVisitor.ReflectedFieldAction action, int objVn, InstanceKey[] fieldsKeys)
           
protected  void newFieldRead(CGNode opNode, int objVn, int fieldsVn, int lhsVn)
           
protected  void newFieldRead(CGNode opNode, int objVn, int fieldsVn, PointerKey lhs)
           
 void newFieldWrite(CGNode opNode, int objVn, InstanceKey[] fieldKeys, InstanceKey[] rhsValues)
           
 void newFieldWrite(CGNode opNode, int objVn, InstanceKey[] fieldKeys, PointerKey rhs)
           
 void newFieldWrite(CGNode opNode, int objVn, int fieldsVn, InstanceKey[] rhsFixedValues)
           
 void newFieldWrite(CGNode opNode, int objVn, int fieldsVn, int rhsVn)
           
 void newFieldWrite(CGNode opNode, int objVn, int fieldsVn, PointerKey rhs)
           
 void visitAssert(AstAssertInstruction instruction)
           
 void visitAstGlobalRead(AstGlobalRead instruction)
           
 void visitAstGlobalWrite(AstGlobalWrite instruction)
           
 void visitAstLexicalRead(AstLexicalRead instruction)
           
 void visitAstLexicalWrite(AstLexicalWrite instruction)
           
 void visitEachElementGet(EachElementGetInstruction inst)
           
 void visitEachElementHasNext(EachElementHasNextInstruction inst)
           
 void visitEcho(AstEchoInstruction inst)
           
protected  void visitInvokeInternal(SSAAbstractInvokeInstruction instruction)
           
 void visitIsDefined(AstIsDefinedInstruction inst)
           
 void visitPut(SSAPutInstruction inst)
           
 
Methods inherited from class com.ibm.wala.ipa.callgraph.propagation.SSAPropagationCallGraphBuilder.ConstraintVisitor
computeInvariantParameters, 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, setBasicBlock, visitArrayLoad, visitArrayStore, visitCheckCast, visitGet, visitGetCaughtException, visitGetInternal, visitInvoke, 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

AstSSAPropagationCallGraphBuilder.AstConstraintVisitor

public AstSSAPropagationCallGraphBuilder.AstConstraintVisitor(AstSSAPropagationCallGraphBuilder builder,
                                                              CGNode node)
Method Detail

getBuilder

protected AstSSAPropagationCallGraphBuilder getBuilder()
Overrides:
getBuilder in class SSAPropagationCallGraphBuilder.ConstraintVisitor

getPointerKeyForObjectCatalog

public PointerKey getPointerKeyForObjectCatalog(InstanceKey I)

getPointerKeysForReflectedFieldRead

public java.util.Iterator<PointerKey> getPointerKeysForReflectedFieldRead(InstanceKey I,
                                                                          InstanceKey F)

getPointerKeysForReflectedFieldWrite

public java.util.Iterator<PointerKey> getPointerKeysForReflectedFieldWrite(InstanceKey I,
                                                                           InstanceKey F)

visitAstLexicalRead

public void visitAstLexicalRead(AstLexicalRead instruction)
Specified by:
visitAstLexicalRead in interface AstInstructionVisitor

visitAstLexicalWrite

public void visitAstLexicalWrite(AstLexicalWrite instruction)
Specified by:
visitAstLexicalWrite in interface AstInstructionVisitor

visitAstGlobalRead

public void visitAstGlobalRead(AstGlobalRead instruction)
Specified by:
visitAstGlobalRead in interface AstInstructionVisitor

visitAstGlobalWrite

public void visitAstGlobalWrite(AstGlobalWrite instruction)
Specified by:
visitAstGlobalWrite in interface AstInstructionVisitor

visitPut

public void visitPut(SSAPutInstruction inst)
Specified by:
visitPut in interface SSAInstruction.IVisitor
Overrides:
visitPut in class SSAPropagationCallGraphBuilder.ConstraintVisitor

visitAssert

public void visitAssert(AstAssertInstruction instruction)
Specified by:
visitAssert in interface AstInstructionVisitor

visitEachElementHasNext

public void visitEachElementHasNext(EachElementHasNextInstruction inst)
Specified by:
visitEachElementHasNext in interface AstInstructionVisitor

visitEachElementGet

public void visitEachElementGet(EachElementGetInstruction inst)
Specified by:
visitEachElementGet in interface AstInstructionVisitor

visitIsDefined

public void visitIsDefined(AstIsDefinedInstruction inst)
Specified by:
visitIsDefined in interface AstInstructionVisitor

visitEcho

public void visitEcho(AstEchoInstruction inst)
Specified by:
visitEcho in interface AstInstructionVisitor

visitInvokeInternal

protected void visitInvokeInternal(SSAAbstractInvokeInstruction instruction)
Overrides:
visitInvokeInternal in class SSAPropagationCallGraphBuilder.ConstraintVisitor

newFieldOperationFieldConstant

protected void newFieldOperationFieldConstant(CGNode opNode,
                                              boolean isLoadOperation,
                                              com.ibm.wala.cast.ipa.callgraph.AstSSAPropagationCallGraphBuilder.AstConstraintVisitor.ReflectedFieldAction action,
                                              int objVn,
                                              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)