public class TryCatchBlockSorter extends 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, invisibleAnnotations, invisibleParameterAnnotations, localVariables, maxLocals, maxStack, name, signature, tryCatchBlocks, visibleAnnotations, visibleParameterAnnotations
api, mv
Modifier | Constructor and Description |
---|---|
protected |
TryCatchBlockSorter(int api,
MethodVisitor mv,
int access,
String name,
String desc,
String signature,
String[] exceptions) |
|
TryCatchBlockSorter(MethodVisitor mv,
int access,
String name,
String desc,
String signature,
String[] exceptions) |
Modifier and Type | Method and Description |
---|---|
void |
visitEnd()
Visits the end of the method.
|
accept, accept, check, getLabelNode, visitAnnotation, visitAnnotationDefault, visitAttribute, visitCode, visitFieldInsn, visitFrame, visitIincInsn, visitInsn, visitIntInsn, visitInvokeDynamicInsn, visitJumpInsn, visitLabel, visitLdcInsn, visitLineNumber, visitLocalVariable, visitLookupSwitchInsn, visitMaxs, visitMethodInsn, visitMultiANewArrayInsn, visitParameterAnnotation, visitTableSwitchInsn, visitTryCatchBlock, visitTypeInsn, visitVarInsn
public TryCatchBlockSorter(MethodVisitor mv, int access, String name, String desc, String signature, String[] exceptions)
protected TryCatchBlockSorter(int api, MethodVisitor mv, int access, String name, String desc, String signature, String[] exceptions)
public void visitEnd()
MethodVisitor
visitEnd
in class MethodNode
Copyright © 2018. All rights reserved.