| com.tc.asm.tree.MethodNode com.tc.asm.commons.JSRInlinerAdapter
JSRInlinerAdapter | public class JSRInlinerAdapter extends MethodNode implements Opcodes(Code) | | A
com.tc.asm.MethodAdapter that removes JSR instructions and
inlines the referenced subroutines.
Explanation of how it works TODO
author: Niko Matsakis |
Inner Class :protected static class Subroutine | |
Constructor Summary | |
public | JSRInlinerAdapter(MethodVisitor mv, int access, String name, String desc, String signature, String[] exceptions) Creates a new JSRInliner.
Parameters: mv - the MethodVisitor to send the resulting inlinedmethod code to (use null for none). Parameters: access - the method's access flags (see Opcodes). |
Method Summary | |
public void | visitEnd() If any JSRs were seen, triggers the inlining process. | public void | visitJumpInsn(int opcode, Label lbl) Detects a JSR instruction and sets a flag to indicate we will need to do
inlining. |
JSRInlinerAdapter | public JSRInlinerAdapter(MethodVisitor mv, int access, String name, String desc, String signature, String[] exceptions)(Code) | | Creates a new JSRInliner.
Parameters: mv - the MethodVisitor to send the resulting inlinedmethod code to (use null for none). Parameters: access - the method's access flags (see Opcodes). Thisparameter also indicates if the method is synthetic and/ordeprecated. Parameters: name - the method's name. Parameters: desc - the method's descriptor (see Type). Parameters: signature - the method's signature. May be null. Parameters: exceptions - the internal names of the method's exception classes(see Type.getInternalName getInternalName). May benull. |
visitEnd | public void visitEnd()(Code) | | If any JSRs were seen, triggers the inlining process. Otherwise, forwards
the byte codes untouched.
|
visitJumpInsn | public void visitJumpInsn(int opcode, Label lbl)(Code) | | Detects a JSR instruction and sets a flag to indicate we will need to do
inlining.
|
Methods inherited from com.tc.asm.tree.MethodNode | public void accept(ClassVisitor cv)(Code)(Java Doc) public void accept(MethodVisitor mv)(Code)(Java Doc) public AnnotationVisitor visitAnnotationDefault()(Code)(Java Doc) public void visitCode()(Code)(Java Doc) public void visitFieldInsn(int opcode, String owner, String name, String desc)(Code)(Java Doc) public void visitFrame(int type, int nLocal, Object[] local, int nStack, Object[] stack)(Code)(Java Doc) public void visitIincInsn(int var, int increment)(Code)(Java Doc) public void visitInsn(int opcode)(Code)(Java Doc) public void visitIntInsn(int opcode, int operand)(Code)(Java Doc) public void visitJumpInsn(int opcode, Label label)(Code)(Java Doc) public void visitLabel(Label label)(Code)(Java Doc) public void visitLdcInsn(Object cst)(Code)(Java Doc) public void visitLineNumber(int line, Label start)(Code)(Java Doc) public void visitLocalVariable(String name, String desc, String signature, Label start, Label end, int index)(Code)(Java Doc) public void visitLookupSwitchInsn(Label dflt, int[] keys, Label[] labels)(Code)(Java Doc) public void visitMaxs(int maxStack, int maxLocals)(Code)(Java Doc) public void visitMethodInsn(int opcode, String owner, String name, String desc)(Code)(Java Doc) public void visitMultiANewArrayInsn(String desc, int dims)(Code)(Java Doc) public AnnotationVisitor visitParameterAnnotation(int parameter, String desc, boolean visible)(Code)(Java Doc) public void visitTableSwitchInsn(int min, int max, Label dflt, Label[] labels)(Code)(Java Doc) public void visitTryCatchBlock(Label start, Label end, Label handler, String type)(Code)(Java Doc) public void visitTypeInsn(int opcode, String desc)(Code)(Java Doc) public void visitVarInsn(int opcode, int var)(Code)(Java Doc)
|
|
|