public class TryCatchBlockSorter
extends org.objectweb.asm.tree.MethodNode
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).
access, annotationDefault, attrs, desc, exceptions, instructions, invisibleAnnotableParameterCount, invisibleAnnotations, invisibleLocalVariableAnnotations, invisibleParameterAnnotations, invisibleTypeAnnotations, localVariables, maxLocals, maxStack, name, parameters, signature, tryCatchBlocks, visibleAnnotableParameterCount, visibleAnnotations, visibleLocalVariableAnnotations, visibleParameterAnnotations, visibleTypeAnnotations
Modifier | Constructor and Description |
---|---|
protected |
TryCatchBlockSorter(int api,
org.objectweb.asm.MethodVisitor mv,
int access,
java.lang.String name,
java.lang.String desc,
java.lang.String signature,
java.lang.String[] exceptions) |
|
TryCatchBlockSorter(org.objectweb.asm.MethodVisitor mv,
int access,
java.lang.String name,
java.lang.String desc,
java.lang.String signature,
java.lang.String[] exceptions) |
Modifier and Type | Method and Description |
---|---|
void |
visitEnd() |
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, visitMethodInsn, visitMultiANewArrayInsn, visitParameter, visitParameterAnnotation, visitTableSwitchInsn, visitTryCatchAnnotation, visitTryCatchBlock, visitTypeAnnotation, visitTypeInsn, visitVarInsn
public TryCatchBlockSorter(org.objectweb.asm.MethodVisitor mv, int access, java.lang.String name, java.lang.String desc, java.lang.String signature, java.lang.String[] exceptions)
protected TryCatchBlockSorter(int api, org.objectweb.asm.MethodVisitor mv, int access, java.lang.String name, java.lang.String desc, java.lang.String signature, java.lang.String[] exceptions)