org.objectweb.asm.commons
Class TryCatchBlockSorter
java.lang.Object
org.objectweb.asm.MethodVisitor
org.objectweb.asm.tree.MethodNode
org.objectweb.asm.commons.TryCatchBlockSorter
public class TryCatchBlockSorter
- extends MethodNode
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).
- Author:
- Adrian Sampson
Fields inherited from class org.objectweb.asm.tree.MethodNode |
access, annotationDefault, attrs, desc, exceptions, instructions, invisibleAnnotations, invisibleParameterAnnotations, localVariables, maxLocals, maxStack, name, signature, tryCatchBlocks, visibleAnnotations, visibleParameterAnnotations |
Constructor Summary |
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)
|
Method Summary |
void |
visitEnd()
Visits the end of the method. |
Methods inherited from class org.objectweb.asm.tree.MethodNode |
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 |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
TryCatchBlockSorter
public TryCatchBlockSorter(MethodVisitor mv,
int access,
String name,
String desc,
String signature,
String[] exceptions)
TryCatchBlockSorter
protected TryCatchBlockSorter(int api,
MethodVisitor mv,
int access,
String name,
String desc,
String signature,
String[] exceptions)
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 class MethodNode