类 JvmIntraproceduralCfaFillerAllInstructionVisitor
- java.lang.Object
-
- proguard.analysis.cpa.jvm.cfa.visitors.JvmIntraproceduralCfaFillerAllInstructionVisitor
-
- 所有已实现的接口:
AttributeVisitor
public class JvmIntraproceduralCfaFillerAllInstructionVisitor extends java.lang.Object implements AttributeVisitor
ThisAttributeVisitorvisits theCodeAttributeof aMethodand performs two different tasks:- for each exception handler (i.e. the beginning of a catch or finally block that can handle several
ExceptionInfo) in the attribute exception table creates aJvmCatchCfaNode. Consecutive nodes may be linked with a falseJvmAssumeExceptionCfaEdge(that indicates that the exception was not caught by a catch statement and is then passed to the following one) if the following catch block covers at least all the instruction offsets of the previous one (this includes also nested try/catch). If the exception is not caught by the last block of a chain an additional a falseJvmAssumeExceptionCfaEdgeto the exception exit block is added. This is not necessary for finally blocks (i.e. with exception type = 0) since they always re-throw the original exception once they're done, which will then be added as an edge to the first catch block that handles its offset byJvmIntraproceduralCfaFillerAllInstructionVisitor.JvmIntraproceduralCfaFillerVisitor.- sets the parameters for the current method for a
JvmIntraproceduralCfaFillerAllInstructionVisitor.JvmIntraproceduralCfaFillerVisitorand then acts similarly to anAllInstructionVisitor. The visitor visits all the instructions of theCodeAttributeand creates the CFA for the current method.
-
-
构造器概要
构造器 构造器 说明 JvmIntraproceduralCfaFillerAllInstructionVisitor(JvmCfa cfa)
-
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 voidvisitAnyAttribute(Clazz clazz, Attribute attribute)Visits any Attribute instance.voidvisitCodeAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute)-
从类继承的方法 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
-
-
-
-
构造器详细资料
-
JvmIntraproceduralCfaFillerAllInstructionVisitor
public JvmIntraproceduralCfaFillerAllInstructionVisitor(JvmCfa cfa)
-
-
方法详细资料
-
visitAnyAttribute
public void visitAnyAttribute(Clazz clazz, Attribute attribute)
从接口复制的说明:AttributeVisitorVisits any Attribute instance. The more specific default implementations of this interface delegate to this method.- 指定者:
visitAnyAttribute在接口中AttributeVisitor
-
visitCodeAttribute
public void visitCodeAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute)
- 指定者:
visitCodeAttribute在接口中AttributeVisitor
-
-