protected static class AstSSAPropagationCallGraphBuilder.AstConstraintVisitor extends SSAPropagationCallGraphBuilder.ConstraintVisitor implements AstInstructionVisitor
Modifier and Type | Class and Description |
---|---|
protected static interface |
AstSSAPropagationCallGraphBuilder.AstConstraintVisitor.ReflectedFieldAction |
SSAPropagationCallGraphBuilder.ConstraintVisitor.DefaultInvariantComputer, SSAPropagationCallGraphBuilder.ConstraintVisitor.InvariantComputer
basicBlock, builder, du, ir, node, symbolTable, system
Constructor and Description |
---|
AstConstraintVisitor(AstSSAPropagationCallGraphBuilder builder,
CGNode node) |
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
visitArrayLength, visitBinaryOp, visitComparison, visitConditionalBranch, visitConversion, visitGoto, visitInstanceof, visitMonitor, visitSwitch, visitUnaryOp
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
visitArrayLength, visitArrayLoad, visitArrayStore, visitBinaryOp, visitCheckCast, visitComparison, visitConditionalBranch, visitConversion, visitGet, visitGetCaughtException, visitGoto, visitInstanceof, visitInvoke, visitLoadMetadata, visitMonitor, visitNew, visitPhi, visitPi, visitReturn, visitSwitch, visitThrow, visitUnaryOp
public AstConstraintVisitor(AstSSAPropagationCallGraphBuilder builder, CGNode node)
protected AstSSAPropagationCallGraphBuilder getBuilder()
getBuilder
in class SSAPropagationCallGraphBuilder.ConstraintVisitor
public PointerKey getPointerKeyForObjectCatalog(InstanceKey I)
public Iterator<PointerKey> getPointerKeysForReflectedFieldRead(InstanceKey I, InstanceKey F)
public Iterator<PointerKey> getPointerKeysForReflectedFieldWrite(InstanceKey I, InstanceKey F)
public void visitAstLexicalRead(AstLexicalRead instruction)
visitAstLexicalRead
in interface AstInstructionVisitor
public void visitAstLexicalWrite(AstLexicalWrite instruction)
visitAstLexicalWrite
in interface AstInstructionVisitor
public void visitAstGlobalRead(AstGlobalRead instruction)
visitAstGlobalRead
in interface AstInstructionVisitor
public void visitAstGlobalWrite(AstGlobalWrite instruction)
visitAstGlobalWrite
in interface AstInstructionVisitor
public void visitPut(SSAPutInstruction inst)
visitPut
in interface SSAInstruction.IVisitor
visitPut
in class SSAPropagationCallGraphBuilder.ConstraintVisitor
public void visitAssert(AstAssertInstruction instruction)
visitAssert
in interface AstInstructionVisitor
public void visitEachElementHasNext(EachElementHasNextInstruction inst)
visitEachElementHasNext
in interface AstInstructionVisitor
public void visitEachElementGet(EachElementGetInstruction inst)
visitEachElementGet
in interface AstInstructionVisitor
public void visitIsDefined(AstIsDefinedInstruction inst)
visitIsDefined
in interface AstInstructionVisitor
public void visitEcho(AstEchoInstruction inst)
visitEcho
in interface AstInstructionVisitor
protected void newFieldOperationFieldConstant(CGNode opNode, boolean isLoadOperation, AstSSAPropagationCallGraphBuilder.AstConstraintVisitor.ReflectedFieldAction action, int objVn, InstanceKey[] fieldsKeys)
protected void newFieldFullOperation(boolean isLoadOperation, AstSSAPropagationCallGraphBuilder.AstConstraintVisitor.ReflectedFieldAction action, PointerKey objKey, PointerKey fieldKey)
protected void newFieldOperationOnlyFieldConstant(boolean isLoadOperation, AstSSAPropagationCallGraphBuilder.AstConstraintVisitor.ReflectedFieldAction action, PointerKey objKey, InstanceKey[] fieldsKeys)
protected void newFieldOperationOnlyObjectConstant(boolean isLoadOperation, AstSSAPropagationCallGraphBuilder.AstConstraintVisitor.ReflectedFieldAction action, PointerKey fieldKey, InstanceKey[] objKeys)
protected void newFieldOperationObjectAndFieldConstant(boolean isLoadOperation, AstSSAPropagationCallGraphBuilder.AstConstraintVisitor.ReflectedFieldAction action, InstanceKey[] objKeys, InstanceKey[] fieldsKeys)
public void newFieldWrite(CGNode opNode, int objVn, int fieldsVn, int rhsVn)
public void newFieldWrite(CGNode opNode, int objVn, int fieldsVn, InstanceKey[] rhsFixedValues)
public void newFieldWrite(CGNode opNode, int objVn, InstanceKey[] fieldKeys, InstanceKey[] rhsValues)
public void newFieldWrite(CGNode opNode, int objVn, int fieldsVn, PointerKey rhs)
public void newFieldWrite(CGNode opNode, int objVn, InstanceKey[] fieldKeys, PointerKey rhs)
protected void newFieldRead(CGNode opNode, int objVn, int fieldsVn, int lhsVn)
protected void newFieldRead(CGNode opNode, int objVn, int fieldsVn, PointerKey lhs)