Package org.objectweb.asm.commons
Class TryCatchBlockSorter
java.lang.Object
org.objectweb.asm.MethodVisitor
org.objectweb.asm.tree.MethodNode
org.objectweb.asm.commons.TryCatchBlockSorter
A
MethodVisitor
adapter to sort the exception handlers. The handlers are sorted in a
method innermost-to-outermost. This allows the programmer to add handlers without worrying about
ordering them correctly with respect to existing, in-code handlers.
Behavior is only defined for properly-nested handlers. If any "try" blocks overlap (something that isn't possible in Java code) then this may not do what you want. In fact, this adapter just sorts by the length of the "try" block, taking advantage of the fact that a given try block must be larger than any block it contains).
-
Field Summary
Fields inherited from class org.objectweb.asm.tree.MethodNode
access, annotationDefault, attrs, desc, exceptions, instructions, invisibleAnnotableParameterCount, invisibleAnnotations, invisibleLocalVariableAnnotations, invisibleParameterAnnotations, invisibleTypeAnnotations, localVariables, maxLocals, maxStack, name, parameters, signature, tryCatchBlocks, visibleAnnotableParameterCount, visibleAnnotations, visibleLocalVariableAnnotations, visibleParameterAnnotations, visibleTypeAnnotations
Fields inherited from class org.objectweb.asm.MethodVisitor
api, mv
-
Constructor Summary
ModifierConstructorDescriptionprotected
TryCatchBlockSorter
(int api, MethodVisitor methodVisitor, int access, String name, String descriptor, String signature, String[] exceptions) TryCatchBlockSorter
(MethodVisitor methodVisitor, int access, String name, String descriptor, String signature, String[] exceptions) Constructs a newTryCatchBlockSorter
. -
Method Summary
Methods inherited from class org.objectweb.asm.tree.MethodNode
accept, accept, check, getLabelNode, visitAnnotableParameterCount, visitAnnotation, visitAnnotationDefault, visitAttribute, visitCode, visitFieldInsn, visitFrame, visitIincInsn, visitInsn, visitInsnAnnotation, visitIntInsn, visitInvokeDynamicInsn, visitJumpInsn, visitLabel, visitLdcInsn, visitLineNumber, visitLocalVariable, visitLocalVariableAnnotation, visitLookupSwitchInsn, visitMaxs, visitMethodInsn, visitMultiANewArrayInsn, visitParameter, visitParameterAnnotation, visitTableSwitchInsn, visitTryCatchAnnotation, visitTryCatchBlock, visitTypeAnnotation, visitTypeInsn, visitVarInsn
Methods inherited from class org.objectweb.asm.MethodVisitor
getDelegate, visitMethodInsn
-
Constructor Details
-
TryCatchBlockSorter
public TryCatchBlockSorter(MethodVisitor methodVisitor, int access, String name, String descriptor, String signature, String[] exceptions) Constructs a newTryCatchBlockSorter
.- Parameters:
methodVisitor
- the method visitor to which this visitor must delegate method calls. May be null.access
- the method's access flags (seeOpcodes
). This parameter also indicates if the method is synthetic and/or deprecated.name
- the method's name.descriptor
- the method's descriptor (seeType
).signature
- the method's signature. May be null if the method parameters, return type and exceptions do not use generic types.exceptions
- the internal names of the method's exception classes (seeType.getInternalName()
). May be null.
-
TryCatchBlockSorter
protected TryCatchBlockSorter(int api, MethodVisitor methodVisitor, int access, String name, String descriptor, String signature, String[] exceptions)
-
-
Method Details
-
visitEnd
public void visitEnd()Description copied from class:MethodVisitor
Visits the end of the method. This method, which is the last one to be called, is used to inform the visitor that all the annotations and attributes of the method have been visited.- Overrides:
visitEnd
in classMethodNode
-