proguard.evaluation
Class Processor
java.lang.Object
proguard.classfile.util.SimplifiedVisitor
proguard.evaluation.Processor
- All Implemented Interfaces:
- ConstantVisitor, InstructionVisitor
public class Processor
- extends SimplifiedVisitor
- implements InstructionVisitor, ConstantVisitor
This InstructionVisitor executes the instructions that it visits on a given
local variable frame and stack.
|
Method Summary |
void |
visitBranchInstruction(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
BranchInstruction branchInstruction)
|
void |
visitClassConstant(Clazz clazz,
ClassConstant classConstant)
|
void |
visitConstantInstruction(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
ConstantInstruction constantInstruction)
|
void |
visitDoubleConstant(Clazz clazz,
DoubleConstant doubleConstant)
|
void |
visitFloatConstant(Clazz clazz,
FloatConstant floatConstant)
|
void |
visitIntegerConstant(Clazz clazz,
IntegerConstant integerConstant)
|
void |
visitLongConstant(Clazz clazz,
LongConstant longConstant)
|
void |
visitLookUpSwitchInstruction(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
LookUpSwitchInstruction lookUpSwitchInstruction)
|
void |
visitSimpleInstruction(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
SimpleInstruction simpleInstruction)
|
void |
visitStringConstant(Clazz clazz,
StringConstant stringConstant)
|
void |
visitTableSwitchInstruction(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
TableSwitchInstruction tableSwitchInstruction)
|
void |
visitVariableInstruction(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
VariableInstruction variableInstruction)
|
| Methods inherited from class proguard.classfile.util.SimplifiedVisitor |
visitAnnotation, visitAnnotation, visitAnnotation, visitAnnotation, visitAnnotation, visitAnnotationDefaultAttribute, visitAnnotationElementValue, visitAnyAnnotationsAttribute, visitAnyAttribute, visitAnyClass, visitAnyConstant, visitAnyElementValue, visitAnyInstruction, visitAnyMember, visitAnyMethodrefConstant, visitAnyParameterAnnotationsAttribute, visitAnyRefConstant, visitAnyStackMapFrame, visitAnySwitchInstruction, visitAnyVerificationType, visitArrayElementValue, visitClassElementValue, visitCodeAttribute, visitConstantElementValue, visitConstantValueAttribute, visitDeprecatedAttribute, visitDeprecatedAttribute, visitDeprecatedAttribute, visitDeprecatedAttribute, visitDoubleType, visitEnclosingMethodAttribute, visitEnumConstantElementValue, visitExceptionsAttribute, visitFieldrefConstant, visitFloatType, visitFullFrame, visitInnerClassesAttribute, visitIntegerType, visitInterfaceMethodrefConstant, visitLessZeroFrame, visitLibraryClass, visitLibraryField, visitLibraryMember, visitLibraryMethod, visitLineNumberTableAttribute, visitLocalVariableTableAttribute, visitLocalVariableTypeTableAttribute, visitLongType, visitMethodrefConstant, visitMoreZeroFrame, visitNameAndTypeConstant, visitNullType, visitObjectType, visitProgramClass, visitProgramField, visitProgramMember, visitProgramMethod, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleParameterAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleParameterAnnotationsAttribute, visitSameOneFrame, visitSameZeroFrame, visitSignatureAttribute, visitSignatureAttribute, visitSignatureAttribute, visitSignatureAttribute, visitSourceDirAttribute, visitSourceFileAttribute, visitStackDoubleType, visitStackFloatType, visitStackIntegerType, visitStackLongType, visitStackMapAttribute, visitStackMapTableAttribute, visitStackNullType, visitStackObjectType, visitStackTopType, visitStackUninitializedThisType, visitStackUninitializedType, visitSyntheticAttribute, visitSyntheticAttribute, visitSyntheticAttribute, visitSyntheticAttribute, visitTopType, visitUninitializedThisType, visitUninitializedType, visitUnknownAttribute, visitUtf8Constant, visitVariablesDoubleType, visitVariablesFloatType, visitVariablesIntegerType, visitVariablesLongType, visitVariablesNullType, visitVariablesObjectType, visitVariablesTopType, visitVariablesUninitializedThisType, visitVariablesUninitializedType |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Processor
public Processor(Variables variables,
Stack stack,
ValueFactory valueFactory,
BranchUnit branchUnit,
InvocationUnit invocationUnit)
- Creates a new processor that operates on the given environment.
- Parameters:
variables - the local variable frame.stack - the local stack.branchUnit - the class that can affect the program counter.invocationUnit - the class that can access other program members.
visitSimpleInstruction
public void visitSimpleInstruction(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
SimpleInstruction simpleInstruction)
- Specified by:
visitSimpleInstruction in interface InstructionVisitor- Overrides:
visitSimpleInstruction in class SimplifiedVisitor
visitConstantInstruction
public void visitConstantInstruction(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
ConstantInstruction constantInstruction)
- Specified by:
visitConstantInstruction in interface InstructionVisitor- Overrides:
visitConstantInstruction in class SimplifiedVisitor
visitVariableInstruction
public void visitVariableInstruction(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
VariableInstruction variableInstruction)
- Specified by:
visitVariableInstruction in interface InstructionVisitor- Overrides:
visitVariableInstruction in class SimplifiedVisitor
visitBranchInstruction
public void visitBranchInstruction(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
BranchInstruction branchInstruction)
- Specified by:
visitBranchInstruction in interface InstructionVisitor- Overrides:
visitBranchInstruction in class SimplifiedVisitor
visitTableSwitchInstruction
public void visitTableSwitchInstruction(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
TableSwitchInstruction tableSwitchInstruction)
- Specified by:
visitTableSwitchInstruction in interface InstructionVisitor- Overrides:
visitTableSwitchInstruction in class SimplifiedVisitor
visitLookUpSwitchInstruction
public void visitLookUpSwitchInstruction(Clazz clazz,
Method method,
CodeAttribute codeAttribute,
int offset,
LookUpSwitchInstruction lookUpSwitchInstruction)
- Specified by:
visitLookUpSwitchInstruction in interface InstructionVisitor- Overrides:
visitLookUpSwitchInstruction in class SimplifiedVisitor
visitIntegerConstant
public void visitIntegerConstant(Clazz clazz,
IntegerConstant integerConstant)
- Specified by:
visitIntegerConstant in interface ConstantVisitor- Overrides:
visitIntegerConstant in class SimplifiedVisitor
visitLongConstant
public void visitLongConstant(Clazz clazz,
LongConstant longConstant)
- Specified by:
visitLongConstant in interface ConstantVisitor- Overrides:
visitLongConstant in class SimplifiedVisitor
visitFloatConstant
public void visitFloatConstant(Clazz clazz,
FloatConstant floatConstant)
- Specified by:
visitFloatConstant in interface ConstantVisitor- Overrides:
visitFloatConstant in class SimplifiedVisitor
visitDoubleConstant
public void visitDoubleConstant(Clazz clazz,
DoubleConstant doubleConstant)
- Specified by:
visitDoubleConstant in interface ConstantVisitor- Overrides:
visitDoubleConstant in class SimplifiedVisitor
visitStringConstant
public void visitStringConstant(Clazz clazz,
StringConstant stringConstant)
- Specified by:
visitStringConstant in interface ConstantVisitor- Overrides:
visitStringConstant in class SimplifiedVisitor
visitClassConstant
public void visitClassConstant(Clazz clazz,
ClassConstant classConstant)
- Specified by:
visitClassConstant in interface ConstantVisitor- Overrides:
visitClassConstant in class SimplifiedVisitor