protected abstract static class AbstractIntRegisterMachine.BasicRegisterFlowProvider extends Object implements AbstractIntRegisterMachine.FlowProvider, DexConstants
| Modifier and Type | Class and Description |
|---|---|
protected class |
AbstractIntRegisterMachine.BasicRegisterFlowProvider.BasicRegisterMachineVisitor
Update the machine state to account for an instruction
|
| Modifier and Type | Field and Description |
|---|---|
protected AbstractIntRegisterMachine.MachineState |
workingState |
ACC_ABSTRACT, ACC_ANNOTATION, ACC_BRIDGE, ACC_CONSTRUCTOR, ACC_DECLARED_SYNCHRONIZED, ACC_ENUM, ACC_FINAL, ACC_INTERFACE, ACC_NATIVE, ACC_private, ACC_PRIVATE, ACC_PROTECTED, ACC_STATIC, ACC_STRICT, ACC_SYNCHRONIZED, ACC_SYNTHETIC, ACC_TRANSIENT, ACC_UNUSED, ACC_VARARGS, ACC_VOLATILE, VALUE_ANNOTATION, VALUE_ARRAY, VALUE_BOOLEAN, VALUE_BYTE, VALUE_CHAR, VALUE_DOUBLE, VALUE_ENUM, VALUE_FIELD, VALUE_FLOAT, VALUE_INT, VALUE_LONG, VALUE_METHOD, VALUE_NULL, VALUE_SHORT, VALUE_STRING, VALUE_TYPE| Modifier | Constructor and Description |
|---|---|
protected |
BasicRegisterFlowProvider(DexCFG cfg)
Only subclasses can instantiate
|
protected AbstractIntRegisterMachine.MachineState workingState
protected BasicRegisterFlowProvider(DexCFG cfg)
protected void init(AbstractIntRegisterMachine.BasicRegisterFlowProvider.BasicRegisterMachineVisitor v, Instruction.Visitor ev)
public boolean needsNodeFlow()
needsNodeFlow in interface AbstractIntRegisterMachine.FlowProviderpublic boolean needsEdgeFlow()
needsEdgeFlow in interface AbstractIntRegisterMachine.FlowProviderpublic AbstractIntRegisterMachine.MachineState flow(AbstractIntRegisterMachine.MachineState entry, DexCFG.BasicBlock basicBlock)
AbstractIntRegisterMachine.FlowProviderflow in interface AbstractIntRegisterMachine.FlowProviderpublic AbstractIntRegisterMachine.MachineState flow(AbstractIntRegisterMachine.MachineState entry, DexCFG.BasicBlock from, DexCFG.BasicBlock to)
AbstractIntRegisterMachine.FlowProviderflow in interface AbstractIntRegisterMachine.FlowProviderprotected int getCurrentInstructionIndex()
protected int getCurrentProgramCounter()
protected DexCFG.BasicBlock getCurrentBlock()
protected DexCFG.BasicBlock getCurrentSuccessor()
public abstract Instruction[] getInstructions()
Copyright © 2019. All rights reserved.