public class EvaluationSimplifier
extends java.lang.Object
implements proguard.classfile.attribute.visitor.AttributeVisitor, proguard.classfile.instruction.visitor.InstructionVisitor
| Constructor and Description |
|---|
EvaluationSimplifier(boolean predictNullPointerExceptions)
Creates a new EvaluationSimplifier.
|
EvaluationSimplifier(proguard.evaluation.PartialEvaluator partialEvaluator,
proguard.classfile.instruction.visitor.InstructionVisitor extraInstructionVisitor,
boolean predictNullPointerExceptions)
Creates a new EvaluationSimplifier.
|
| Modifier and Type | Method and Description |
|---|---|
void |
visitAnyAttribute(proguard.classfile.Clazz clazz,
proguard.classfile.attribute.Attribute attribute) |
void |
visitBranchInstruction(proguard.classfile.Clazz clazz,
proguard.classfile.Method method,
proguard.classfile.attribute.CodeAttribute codeAttribute,
int offset,
proguard.classfile.instruction.BranchInstruction branchInstruction) |
void |
visitCodeAttribute(proguard.classfile.Clazz clazz,
proguard.classfile.Method method,
proguard.classfile.attribute.CodeAttribute codeAttribute) |
void |
visitCodeAttribute0(proguard.classfile.Clazz clazz,
proguard.classfile.Method method,
proguard.classfile.attribute.CodeAttribute codeAttribute) |
void |
visitConstantInstruction(proguard.classfile.Clazz clazz,
proguard.classfile.Method method,
proguard.classfile.attribute.CodeAttribute codeAttribute,
int offset,
proguard.classfile.instruction.ConstantInstruction constantInstruction) |
void |
visitLookUpSwitchInstruction(proguard.classfile.Clazz clazz,
proguard.classfile.Method method,
proguard.classfile.attribute.CodeAttribute codeAttribute,
int offset,
proguard.classfile.instruction.LookUpSwitchInstruction lookUpSwitchInstruction) |
void |
visitSimpleInstruction(proguard.classfile.Clazz clazz,
proguard.classfile.Method method,
proguard.classfile.attribute.CodeAttribute codeAttribute,
int offset,
proguard.classfile.instruction.SimpleInstruction simpleInstruction) |
void |
visitTableSwitchInstruction(proguard.classfile.Clazz clazz,
proguard.classfile.Method method,
proguard.classfile.attribute.CodeAttribute codeAttribute,
int offset,
proguard.classfile.instruction.TableSwitchInstruction tableSwitchInstruction) |
void |
visitVariableInstruction(proguard.classfile.Clazz clazz,
proguard.classfile.Method method,
proguard.classfile.attribute.CodeAttribute codeAttribute,
int offset,
proguard.classfile.instruction.VariableInstruction variableInstruction) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitvisitAnnotationDefaultAttribute, visitAnyAnnotationsAttribute, visitAnyParameterAnnotationsAttribute, visitAnyTypeAnnotationsAttribute, visitBootstrapMethodsAttribute, visitConstantValueAttribute, visitDeprecatedAttribute, visitDeprecatedAttribute, visitDeprecatedAttribute, visitDeprecatedAttribute, visitEnclosingMethodAttribute, visitExceptionsAttribute, visitInnerClassesAttribute, visitLineNumberTableAttribute, visitLocalVariableTableAttribute, visitLocalVariableTypeTableAttribute, visitMethodParametersAttribute, visitModuleAttribute, visitModuleMainClassAttribute, visitModulePackagesAttribute, visitNestHostAttribute, visitNestMembersAttribute, visitPermittedSubclassesAttribute, visitRecordAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleAnnotationsAttribute, visitRuntimeInvisibleParameterAnnotationsAttribute, visitRuntimeInvisibleTypeAnnotationsAttribute, visitRuntimeInvisibleTypeAnnotationsAttribute, visitRuntimeInvisibleTypeAnnotationsAttribute, visitRuntimeInvisibleTypeAnnotationsAttribute, visitRuntimeInvisibleTypeAnnotationsAttribute, visitRuntimeInvisibleTypeAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleAnnotationsAttribute, visitRuntimeVisibleParameterAnnotationsAttribute, visitRuntimeVisibleTypeAnnotationsAttribute, visitRuntimeVisibleTypeAnnotationsAttribute, visitRuntimeVisibleTypeAnnotationsAttribute, visitRuntimeVisibleTypeAnnotationsAttribute, visitRuntimeVisibleTypeAnnotationsAttribute, visitRuntimeVisibleTypeAnnotationsAttribute, visitSignatureAttribute, visitSignatureAttribute, visitSignatureAttribute, visitSignatureAttribute, visitSignatureAttribute, visitSourceDebugExtensionAttribute, visitSourceDirAttribute, visitSourceFileAttribute, visitStackMapAttribute, visitStackMapTableAttribute, visitSyntheticAttribute, visitSyntheticAttribute, visitSyntheticAttribute, visitSyntheticAttribute, visitUnknownAttributepublic EvaluationSimplifier(boolean predictNullPointerExceptions)
predictNullPointerExceptions - specifies whether instructions that will always result in a
NullPointerException should be replaced with an explicit NullPointerExceptionpublic EvaluationSimplifier(proguard.evaluation.PartialEvaluator partialEvaluator,
proguard.classfile.instruction.visitor.InstructionVisitor extraInstructionVisitor,
boolean predictNullPointerExceptions)
partialEvaluator - the partial evaluator that will
execute the code and provide
information about the results.extraInstructionVisitor - an optional extra visitor for all
simplified instructions.predictNullPointerExceptions - specifies whether instructions that will always result in a
NullPointerException should be replaced with an explicit NullPointerExceptionpublic void visitAnyAttribute(proguard.classfile.Clazz clazz,
proguard.classfile.attribute.Attribute attribute)
visitAnyAttribute in interface proguard.classfile.attribute.visitor.AttributeVisitorpublic void visitCodeAttribute(proguard.classfile.Clazz clazz,
proguard.classfile.Method method,
proguard.classfile.attribute.CodeAttribute codeAttribute)
visitCodeAttribute in interface proguard.classfile.attribute.visitor.AttributeVisitorpublic void visitCodeAttribute0(proguard.classfile.Clazz clazz,
proguard.classfile.Method method,
proguard.classfile.attribute.CodeAttribute codeAttribute)
public void visitSimpleInstruction(proguard.classfile.Clazz clazz,
proguard.classfile.Method method,
proguard.classfile.attribute.CodeAttribute codeAttribute,
int offset,
proguard.classfile.instruction.SimpleInstruction simpleInstruction)
visitSimpleInstruction in interface proguard.classfile.instruction.visitor.InstructionVisitorpublic void visitVariableInstruction(proguard.classfile.Clazz clazz,
proguard.classfile.Method method,
proguard.classfile.attribute.CodeAttribute codeAttribute,
int offset,
proguard.classfile.instruction.VariableInstruction variableInstruction)
visitVariableInstruction in interface proguard.classfile.instruction.visitor.InstructionVisitorpublic void visitConstantInstruction(proguard.classfile.Clazz clazz,
proguard.classfile.Method method,
proguard.classfile.attribute.CodeAttribute codeAttribute,
int offset,
proguard.classfile.instruction.ConstantInstruction constantInstruction)
visitConstantInstruction in interface proguard.classfile.instruction.visitor.InstructionVisitorpublic void visitBranchInstruction(proguard.classfile.Clazz clazz,
proguard.classfile.Method method,
proguard.classfile.attribute.CodeAttribute codeAttribute,
int offset,
proguard.classfile.instruction.BranchInstruction branchInstruction)
visitBranchInstruction in interface proguard.classfile.instruction.visitor.InstructionVisitorpublic void visitTableSwitchInstruction(proguard.classfile.Clazz clazz,
proguard.classfile.Method method,
proguard.classfile.attribute.CodeAttribute codeAttribute,
int offset,
proguard.classfile.instruction.TableSwitchInstruction tableSwitchInstruction)
visitTableSwitchInstruction in interface proguard.classfile.instruction.visitor.InstructionVisitorpublic void visitLookUpSwitchInstruction(proguard.classfile.Clazz clazz,
proguard.classfile.Method method,
proguard.classfile.attribute.CodeAttribute codeAttribute,
int offset,
proguard.classfile.instruction.LookUpSwitchInstruction lookUpSwitchInstruction)
visitLookUpSwitchInstruction in interface proguard.classfile.instruction.visitor.InstructionVisitor