类 LineNumberLinearizer
- java.lang.Object
-
- proguard.optimize.peephole.LineNumberLinearizer
-
- 所有已实现的接口:
proguard.classfile.attribute.visitor.AttributeVisitor,proguard.classfile.visitor.ClassVisitor,proguard.classfile.visitor.MemberVisitor,Pass
public class LineNumberLinearizer extends java.lang.Object implements Pass, proguard.classfile.visitor.ClassVisitor, proguard.classfile.visitor.MemberVisitor, proguard.classfile.attribute.visitor.AttributeVisitor
This pass disambiguates line numbers, in the classes that it visits. It shifts line numbers that originate from different classes (e.g. due to method inlining or class merging) to blocks that don't overlap with the main line numbers and with each other. The line numbers then uniquely identify the inlined and merged code in the classes.
-
-
字段概要
字段 修饰符和类型 字段 说明 static intSHIFT_ROUNDING
-
构造器概要
构造器 构造器 说明 LineNumberLinearizer()
-
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 voidexecute(AppView appView)Disambiguates the line numbers of all program classes, after optimizations like method inlining and class merging.voidvisitAnyAttribute(proguard.classfile.Clazz clazz, proguard.classfile.attribute.Attribute attribute)voidvisitAnyClass(proguard.classfile.Clazz clazz)voidvisitCodeAttribute(proguard.classfile.Clazz clazz, proguard.classfile.Method method, proguard.classfile.attribute.CodeAttribute codeAttribute)voidvisitLineNumberTableAttribute(proguard.classfile.Clazz clazz, proguard.classfile.Method method, proguard.classfile.attribute.CodeAttribute codeAttribute, proguard.classfile.attribute.LineNumberTableAttribute lineNumberTableAttribute)voidvisitProgramClass(proguard.classfile.ProgramClass programClass)voidvisitProgramMethod(proguard.classfile.ProgramClass programClass, proguard.classfile.ProgramMethod programMethod)-
从类继承的方法 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
从接口继承的方法 proguard.classfile.attribute.visitor.AttributeVisitor
visitAnnotationDefaultAttribute, visitAnyAnnotationsAttribute, visitAnyParameterAnnotationsAttribute, visitAnyTypeAnnotationsAttribute, visitBootstrapMethodsAttribute, visitConstantValueAttribute, visitDeprecatedAttribute, visitDeprecatedAttribute, visitDeprecatedAttribute, visitDeprecatedAttribute, visitEnclosingMethodAttribute, visitExceptionsAttribute, visitInnerClassesAttribute, 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, visitUnknownAttribute
-
-
-
-
字段详细资料
-
SHIFT_ROUNDING
public static final int SHIFT_ROUNDING
- 另请参阅:
- 常量字段值
-
-
方法详细资料
-
execute
public void execute(AppView appView)
Disambiguates the line numbers of all program classes, after optimizations like method inlining and class merging.
-
visitAnyClass
public void visitAnyClass(proguard.classfile.Clazz clazz)
- 指定者:
visitAnyClass在接口中proguard.classfile.visitor.ClassVisitor
-
visitProgramClass
public void visitProgramClass(proguard.classfile.ProgramClass programClass)
- 指定者:
visitProgramClass在接口中proguard.classfile.visitor.ClassVisitor
-
visitProgramMethod
public void visitProgramMethod(proguard.classfile.ProgramClass programClass, proguard.classfile.ProgramMethod programMethod)- 指定者:
visitProgramMethod在接口中proguard.classfile.visitor.MemberVisitor
-
visitAnyAttribute
public void visitAnyAttribute(proguard.classfile.Clazz clazz, proguard.classfile.attribute.Attribute attribute)- 指定者:
visitAnyAttribute在接口中proguard.classfile.attribute.visitor.AttributeVisitor
-
visitCodeAttribute
public void visitCodeAttribute(proguard.classfile.Clazz clazz, proguard.classfile.Method method, proguard.classfile.attribute.CodeAttribute codeAttribute)- 指定者:
visitCodeAttribute在接口中proguard.classfile.attribute.visitor.AttributeVisitor
-
visitLineNumberTableAttribute
public void visitLineNumberTableAttribute(proguard.classfile.Clazz clazz, proguard.classfile.Method method, proguard.classfile.attribute.CodeAttribute codeAttribute, proguard.classfile.attribute.LineNumberTableAttribute lineNumberTableAttribute)- 指定者:
visitLineNumberTableAttribute在接口中proguard.classfile.attribute.visitor.AttributeVisitor
-
-