|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.objectweb.asm.MethodVisitor
org.objectweb.asm.tree.MethodNode
org.objectweb.asm.commons.JSRInlinerAdapter
public class JSRInlinerAdapter
A MethodVisitor
that removes JSR instructions and
inlines the referenced subroutines.
Explanation of how it works TODO
Field Summary |
---|
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 |
Fields inherited from class org.objectweb.asm.MethodVisitor |
---|
api, mv |
Constructor Summary | |
---|---|
protected |
JSRInlinerAdapter(int api,
MethodVisitor mv,
int access,
String name,
String desc,
String signature,
String[] exceptions)
Creates a new JSRInliner. |
|
JSRInlinerAdapter(MethodVisitor mv,
int access,
String name,
String desc,
String signature,
String[] exceptions)
Creates a new JSRInliner. |
Method Summary | |
---|---|
void |
visitEnd()
If any JSRs were seen, triggers the inlining process. |
void |
visitJumpInsn(int opcode,
Label lbl)
Detects a JSR instruction and sets a flag to indicate we will need to do inlining. |
Methods inherited from class org.objectweb.asm.tree.MethodNode |
---|
accept, accept, check, getLabelNode, visitAnnotation, visitAnnotationDefault, visitAttribute, visitCode, visitFieldInsn, visitFrame, visitIincInsn, visitInsn, visitIntInsn, visitInvokeDynamicInsn, 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 |
Constructor Detail |
---|
public JSRInlinerAdapter(MethodVisitor mv, int access, String name, String desc, String signature, String[] exceptions)
JSRInlinerAdapter(int, MethodVisitor, int, String, String, String, String[])
version.
mv
- the MethodVisitor
to send the resulting inlined
method code to (use null
for none).access
- the method's access flags (see Opcodes
). This
parameter also indicates if the method is synthetic and/or
deprecated.name
- the method's name.desc
- the method's descriptor (see Type
).signature
- the method's signature. May be null.exceptions
- the internal names of the method's exception classes (see
getInternalName
). May be
null.protected JSRInlinerAdapter(int api, MethodVisitor mv, int access, String name, String desc, String signature, String[] exceptions)
api
- the ASM API version implemented by this visitor. Must be one
of Opcodes.ASM4
.mv
- the MethodVisitor
to send the resulting inlined
method code to (use null
for none).access
- the method's access flags (see Opcodes
). This
parameter also indicates if the method is synthetic and/or
deprecated.name
- the method's name.desc
- the method's descriptor (see Type
).signature
- the method's signature. May be null.exceptions
- the internal names of the method's exception classes (see
getInternalName
). May be
null.Method Detail |
---|
public void visitJumpInsn(int opcode, Label lbl)
visitJumpInsn
in class MethodNode
opcode
- the opcode of the type instruction to be visited. This opcode
is either IFEQ, IFNE, IFLT, IFGE, IFGT, IFLE, IF_ICMPEQ,
IF_ICMPNE, IF_ICMPLT, IF_ICMPGE, IF_ICMPGT, IF_ICMPLE,
IF_ACMPEQ, IF_ACMPNE, GOTO, JSR, IFNULL or IFNONNULL.lbl
- the operand of the instruction to be visited. This operand is
a label that designates the instruction to which the jump
instruction may jump.public void visitEnd()
visitEnd
in class MethodNode
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |