类 MemberReferenceGeneralizer
- java.lang.Object
-
- proguard.optimize.MemberReferenceGeneralizer
-
- 所有已实现的接口:
proguard.classfile.constant.visitor.ConstantVisitor,proguard.classfile.instruction.visitor.InstructionVisitor,proguard.classfile.visitor.ClassVisitor
public class MemberReferenceGeneralizer extends java.lang.Object implements proguard.classfile.instruction.visitor.InstructionVisitor, proguard.classfile.constant.visitor.ConstantVisitor, proguard.classfile.visitor.ClassVisitorThis InstructionVisitor generalizes the classes referenced by the field/method invocation instructions that it visits. For example, it replaces invocations StringBuilder#toString() by Object#toString(), Integer#intValue() by Number#intValue(), Exception#printStackTrace() by Throwable#printStackTrace().
-
-
构造器概要
构造器 构造器 说明 MemberReferenceGeneralizer(boolean fieldGeneralizationClass, boolean methodGeneralizationClass, proguard.classfile.editor.CodeAttributeEditor codeAttributeEditor)Creates a new ReferenceGeneralizer.MemberReferenceGeneralizer(boolean fieldGeneralizationClass, boolean methodGeneralizationClass, proguard.classfile.editor.CodeAttributeEditor codeAttributeEditor, proguard.classfile.instruction.visitor.InstructionVisitor extraFieldInstructionVisitor, proguard.classfile.instruction.visitor.InstructionVisitor extraMethodInstructionVisitor)Creates a new ReferenceGeneralizer.
-
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 voidvisitAnyClass(proguard.classfile.Clazz clazz)voidvisitAnyInstruction(proguard.classfile.Clazz clazz, proguard.classfile.Method method, proguard.classfile.attribute.CodeAttribute codeAttribute, int offset, proguard.classfile.instruction.Instruction instruction)voidvisitAnyRefConstant(proguard.classfile.Clazz clazz, proguard.classfile.constant.RefConstant refConstant)voidvisitClassConstant(proguard.classfile.Clazz clazz, proguard.classfile.constant.ClassConstant classConstant)voidvisitConstantInstruction(proguard.classfile.Clazz clazz, proguard.classfile.Method method, proguard.classfile.attribute.CodeAttribute codeAttribute, int offset, proguard.classfile.instruction.ConstantInstruction constantInstruction)-
从类继承的方法 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
从接口继承的方法 proguard.classfile.constant.visitor.ConstantVisitor
visitAnyConstant, visitAnyMethodrefConstant, visitDoubleConstant, visitDynamicConstant, visitFieldrefConstant, visitFloatConstant, visitIntegerConstant, visitInterfaceMethodrefConstant, visitInvokeDynamicConstant, visitLongConstant, visitMethodHandleConstant, visitMethodrefConstant, visitMethodTypeConstant, visitModuleConstant, visitNameAndTypeConstant, visitPackageConstant, visitPrimitiveArrayConstant, visitStringConstant, visitUtf8Constant
-
-
-
-
构造器详细资料
-
MemberReferenceGeneralizer
public MemberReferenceGeneralizer(boolean fieldGeneralizationClass, boolean methodGeneralizationClass, proguard.classfile.editor.CodeAttributeEditor codeAttributeEditor)Creates a new ReferenceGeneralizer.- 参数:
fieldGeneralizationClass- specifies whether field classes should be generalized.methodGeneralizationClass- specifies whether method classes should be generalized.codeAttributeEditor- a code editor that can be used to accumulate changes to the code.
-
MemberReferenceGeneralizer
public MemberReferenceGeneralizer(boolean fieldGeneralizationClass, boolean methodGeneralizationClass, proguard.classfile.editor.CodeAttributeEditor codeAttributeEditor, proguard.classfile.instruction.visitor.InstructionVisitor extraFieldInstructionVisitor, proguard.classfile.instruction.visitor.InstructionVisitor extraMethodInstructionVisitor)Creates a new ReferenceGeneralizer.- 参数:
fieldGeneralizationClass- specifies whether field classes should be generalized.methodGeneralizationClass- specifies whether method classes should be generalized.codeAttributeEditor- a code editor that can be used to accumulate changes to the code.extraFieldInstructionVisitor- an extra visitor for all field access instructions whose referenced classes have been generalized.extraMethodInstructionVisitor- an extra visitor for all method invocations instructions whose referenced classes have been generalized.
-
-
方法详细资料
-
visitAnyInstruction
public void visitAnyInstruction(proguard.classfile.Clazz clazz, proguard.classfile.Method method, proguard.classfile.attribute.CodeAttribute codeAttribute, int offset, proguard.classfile.instruction.Instruction instruction)- 指定者:
visitAnyInstruction在接口中proguard.classfile.instruction.visitor.InstructionVisitor
-
visitConstantInstruction
public void visitConstantInstruction(proguard.classfile.Clazz clazz, proguard.classfile.Method method, proguard.classfile.attribute.CodeAttribute codeAttribute, int offset, proguard.classfile.instruction.ConstantInstruction constantInstruction)- 指定者:
visitConstantInstruction在接口中proguard.classfile.instruction.visitor.InstructionVisitor
-
visitAnyRefConstant
public void visitAnyRefConstant(proguard.classfile.Clazz clazz, proguard.classfile.constant.RefConstant refConstant)- 指定者:
visitAnyRefConstant在接口中proguard.classfile.constant.visitor.ConstantVisitor
-
visitClassConstant
public void visitClassConstant(proguard.classfile.Clazz clazz, proguard.classfile.constant.ClassConstant classConstant)- 指定者:
visitClassConstant在接口中proguard.classfile.constant.visitor.ConstantVisitor
-
visitAnyClass
public void visitAnyClass(proguard.classfile.Clazz clazz)
- 指定者:
visitAnyClass在接口中proguard.classfile.visitor.ClassVisitor
-
-