类 ReachableCodeMarker
- java.lang.Object
-
- proguard.optimize.peephole.ReachableCodeMarker
-
- 所有已实现的接口:
proguard.classfile.attribute.visitor.AttributeVisitor,proguard.classfile.attribute.visitor.ExceptionInfoVisitor,proguard.classfile.instruction.visitor.InstructionVisitor
public class ReachableCodeMarker extends java.lang.Object implements proguard.classfile.attribute.visitor.AttributeVisitor, proguard.classfile.instruction.visitor.InstructionVisitor, proguard.classfile.attribute.visitor.ExceptionInfoVisitorThis AttributeVisitor finds all instruction offsets, branch targets, and exception targets in the CodeAttribute objects that it visits.
-
-
构造器概要
构造器 构造器 说明 ReachableCodeMarker()
-
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 booleanisReachable(int offset)Returns whether the instruction at the given offset is reachable in the CodeAttribute that was visited most recently.booleanisReachable(int startOffset, int endOffset)Returns whether any of the instructions at the given offsets are reachable in the CodeAttribute that was visited most recently.voidvisitAnyAttribute(proguard.classfile.Clazz clazz, proguard.classfile.attribute.Attribute attribute)voidvisitAnySwitchInstruction(proguard.classfile.Clazz clazz, proguard.classfile.Method method, proguard.classfile.attribute.CodeAttribute codeAttribute, int offset, proguard.classfile.instruction.SwitchInstruction switchInstruction)voidvisitBranchInstruction(proguard.classfile.Clazz clazz, proguard.classfile.Method method, proguard.classfile.attribute.CodeAttribute codeAttribute, int offset, proguard.classfile.instruction.BranchInstruction branchInstruction)voidvisitCodeAttribute(proguard.classfile.Clazz clazz, proguard.classfile.Method method, proguard.classfile.attribute.CodeAttribute codeAttribute)voidvisitConstantInstruction(proguard.classfile.Clazz clazz, proguard.classfile.Method method, proguard.classfile.attribute.CodeAttribute codeAttribute, int offset, proguard.classfile.instruction.ConstantInstruction constantInstruction)voidvisitExceptionInfo(proguard.classfile.Clazz clazz, proguard.classfile.Method method, proguard.classfile.attribute.CodeAttribute codeAttribute, proguard.classfile.attribute.ExceptionInfo exceptionInfo)voidvisitSimpleInstruction(proguard.classfile.Clazz clazz, proguard.classfile.Method method, proguard.classfile.attribute.CodeAttribute codeAttribute, int offset, proguard.classfile.instruction.SimpleInstruction simpleInstruction)voidvisitVariableInstruction(proguard.classfile.Clazz clazz, proguard.classfile.Method method, proguard.classfile.attribute.CodeAttribute codeAttribute, int offset, proguard.classfile.instruction.VariableInstruction variableInstruction)-
从类继承的方法 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, 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, visitUnknownAttribute
-
-
-
-
方法详细资料
-
isReachable
public boolean isReachable(int offset)
Returns whether the instruction at the given offset is reachable in the CodeAttribute that was visited most recently.
-
isReachable
public boolean isReachable(int startOffset, int endOffset)Returns whether any of the instructions at the given offsets are reachable in the CodeAttribute that was visited most recently.
-
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
-
visitSimpleInstruction
public void visitSimpleInstruction(proguard.classfile.Clazz clazz, proguard.classfile.Method method, proguard.classfile.attribute.CodeAttribute codeAttribute, int offset, proguard.classfile.instruction.SimpleInstruction simpleInstruction)- 指定者:
visitSimpleInstruction在接口中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
-
visitVariableInstruction
public void visitVariableInstruction(proguard.classfile.Clazz clazz, proguard.classfile.Method method, proguard.classfile.attribute.CodeAttribute codeAttribute, int offset, proguard.classfile.instruction.VariableInstruction variableInstruction)- 指定者:
visitVariableInstruction在接口中proguard.classfile.instruction.visitor.InstructionVisitor
-
visitBranchInstruction
public void visitBranchInstruction(proguard.classfile.Clazz clazz, proguard.classfile.Method method, proguard.classfile.attribute.CodeAttribute codeAttribute, int offset, proguard.classfile.instruction.BranchInstruction branchInstruction)- 指定者:
visitBranchInstruction在接口中proguard.classfile.instruction.visitor.InstructionVisitor
-
visitAnySwitchInstruction
public void visitAnySwitchInstruction(proguard.classfile.Clazz clazz, proguard.classfile.Method method, proguard.classfile.attribute.CodeAttribute codeAttribute, int offset, proguard.classfile.instruction.SwitchInstruction switchInstruction)- 指定者:
visitAnySwitchInstruction在接口中proguard.classfile.instruction.visitor.InstructionVisitor
-
visitExceptionInfo
public void visitExceptionInfo(proguard.classfile.Clazz clazz, proguard.classfile.Method method, proguard.classfile.attribute.CodeAttribute codeAttribute, proguard.classfile.attribute.ExceptionInfo exceptionInfo)- 指定者:
visitExceptionInfo在接口中proguard.classfile.attribute.visitor.ExceptionInfoVisitor
-
-