Package org.objectweb.asm.commons
Class InstructionAdapter
- java.lang.Object
-
- org.objectweb.asm.MethodVisitor
-
- org.objectweb.asm.commons.InstructionAdapter
-
public class InstructionAdapter extends org.objectweb.asm.MethodVisitorAMethodVisitorproviding a more detailed API to generate and transform instructions.- Author:
- Eric Bruneton
-
-
Field Summary
Fields Modifier and Type Field Description static org.objectweb.asm.TypeOBJECT_TYPEThe type of the java.lang.Object class.
-
Constructor Summary
Constructors Modifier Constructor Description protectedInstructionAdapter(int api, org.objectweb.asm.MethodVisitor methodVisitor)Constructs a newInstructionAdapter.InstructionAdapter(org.objectweb.asm.MethodVisitor methodVisitor)Constructs a newInstructionAdapter.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidaconst(java.lang.Object value)voidadd(org.objectweb.asm.Type type)voidaload(org.objectweb.asm.Type type)voidand(org.objectweb.asm.Type type)voidanew(org.objectweb.asm.Type type)voidareturn(org.objectweb.asm.Type type)voidarraylength()voidastore(org.objectweb.asm.Type type)voidathrow()voidcast(org.objectweb.asm.Type from, org.objectweb.asm.Type to)voidcconst(org.objectweb.asm.ConstantDynamic constantDynamic)voidcheckcast(org.objectweb.asm.Type type)voidcmpg(org.objectweb.asm.Type type)voidcmpl(org.objectweb.asm.Type type)voiddconst(double doubleValue)voiddiv(org.objectweb.asm.Type type)voiddup()voiddup2()voiddup2X1()voiddup2X2()voiddupX1()voiddupX2()voidfconst(float floatValue)voidgetfield(java.lang.String owner, java.lang.String name, java.lang.String descriptor)voidgetstatic(java.lang.String owner, java.lang.String name, java.lang.String descriptor)voidgoTo(org.objectweb.asm.Label label)voidhconst(org.objectweb.asm.Handle handle)voidiconst(int intValue)voidifacmpeq(org.objectweb.asm.Label label)voidifacmpne(org.objectweb.asm.Label label)voidifeq(org.objectweb.asm.Label label)voidifge(org.objectweb.asm.Label label)voidifgt(org.objectweb.asm.Label label)voidificmpeq(org.objectweb.asm.Label label)voidificmpge(org.objectweb.asm.Label label)voidificmpgt(org.objectweb.asm.Label label)voidificmple(org.objectweb.asm.Label label)voidificmplt(org.objectweb.asm.Label label)voidificmpne(org.objectweb.asm.Label label)voidifle(org.objectweb.asm.Label label)voidiflt(org.objectweb.asm.Label label)voidifne(org.objectweb.asm.Label label)voidifnonnull(org.objectweb.asm.Label label)voidifnull(org.objectweb.asm.Label label)voidiinc(int var, int increment)voidinstanceOf(org.objectweb.asm.Type type)voidinvokedynamic(java.lang.String name, java.lang.String descriptor, org.objectweb.asm.Handle bootstrapMethodHandle, java.lang.Object[] bootstrapMethodArguments)voidinvokeinterface(java.lang.String owner, java.lang.String name, java.lang.String descriptor)voidinvokespecial(java.lang.String owner, java.lang.String name, java.lang.String descriptor)Deprecated.voidinvokespecial(java.lang.String owner, java.lang.String name, java.lang.String descriptor, boolean isInterface)voidinvokestatic(java.lang.String owner, java.lang.String name, java.lang.String descriptor)Deprecated.voidinvokestatic(java.lang.String owner, java.lang.String name, java.lang.String descriptor, boolean isInterface)voidinvokevirtual(java.lang.String owner, java.lang.String name, java.lang.String descriptor)Deprecated.voidinvokevirtual(java.lang.String owner, java.lang.String name, java.lang.String descriptor, boolean isInterface)voidjsr(org.objectweb.asm.Label label)voidlcmp()voidlconst(long longValue)voidload(int var, org.objectweb.asm.Type type)voidlookupswitch(org.objectweb.asm.Label dflt, int[] keys, org.objectweb.asm.Label[] labels)voidmark(org.objectweb.asm.Label label)voidmonitorenter()voidmonitorexit()voidmul(org.objectweb.asm.Type type)voidmultianewarray(java.lang.String descriptor, int numDimensions)voidneg(org.objectweb.asm.Type type)voidnewarray(org.objectweb.asm.Type type)voidnop()voidor(org.objectweb.asm.Type type)voidpop()voidpop2()voidputfield(java.lang.String owner, java.lang.String name, java.lang.String descriptor)voidputstatic(java.lang.String owner, java.lang.String name, java.lang.String descriptor)voidrem(org.objectweb.asm.Type type)voidret(int var)voidshl(org.objectweb.asm.Type type)voidshr(org.objectweb.asm.Type type)voidstore(int var, org.objectweb.asm.Type type)voidsub(org.objectweb.asm.Type type)voidswap()voidtableswitch(int min, int max, org.objectweb.asm.Label dflt, org.objectweb.asm.Label... labels)voidtconst(org.objectweb.asm.Type type)voidushr(org.objectweb.asm.Type type)voidvisitFieldInsn(int opcode, java.lang.String owner, java.lang.String name, java.lang.String descriptor)voidvisitIincInsn(int var, int increment)voidvisitInsn(int opcode)voidvisitIntInsn(int opcode, int operand)voidvisitInvokeDynamicInsn(java.lang.String name, java.lang.String descriptor, org.objectweb.asm.Handle bootstrapMethodHandle, java.lang.Object... bootstrapMethodArguments)voidvisitJumpInsn(int opcode, org.objectweb.asm.Label label)voidvisitLabel(org.objectweb.asm.Label label)voidvisitLdcInsn(java.lang.Object value)voidvisitLookupSwitchInsn(org.objectweb.asm.Label dflt, int[] keys, org.objectweb.asm.Label[] labels)voidvisitMethodInsn(int opcode, java.lang.String owner, java.lang.String name, java.lang.String descriptor)Deprecated.voidvisitMethodInsn(int opcode, java.lang.String owner, java.lang.String name, java.lang.String descriptor, boolean isInterface)voidvisitMultiANewArrayInsn(java.lang.String descriptor, int numDimensions)voidvisitTableSwitchInsn(int min, int max, org.objectweb.asm.Label dflt, org.objectweb.asm.Label... labels)voidvisitTypeInsn(int opcode, java.lang.String type)voidvisitVarInsn(int opcode, int var)voidxor(org.objectweb.asm.Type type)-
Methods inherited from class org.objectweb.asm.MethodVisitor
visitAnnotableParameterCount, visitAnnotation, visitAnnotationDefault, visitAttribute, visitCode, visitEnd, visitFrame, visitInsnAnnotation, visitLineNumber, visitLocalVariable, visitLocalVariableAnnotation, visitMaxs, visitParameter, visitParameterAnnotation, visitTryCatchAnnotation, visitTryCatchBlock, visitTypeAnnotation
-
-
-
-
Constructor Detail
-
InstructionAdapter
public InstructionAdapter(org.objectweb.asm.MethodVisitor methodVisitor)
Constructs a newInstructionAdapter. Subclasses must not use this constructor. Instead, they must use theInstructionAdapter(int, MethodVisitor)version.- Parameters:
methodVisitor- the method visitor to which this adapter delegates calls.- Throws:
java.lang.IllegalStateException- If a subclass calls this constructor.
-
InstructionAdapter
protected InstructionAdapter(int api, org.objectweb.asm.MethodVisitor methodVisitor)Constructs a newInstructionAdapter.- Parameters:
api- the ASM API version implemented by this visitor. Must be one ofOpcodes.ASM4,Opcodes.ASM5,Opcodes.ASM6orOpcodes.ASM7_EXPERIMENTAL.methodVisitor- the method visitor to which this adapter delegates calls.
-
-
Method Detail
-
visitInsn
public void visitInsn(int opcode)
- Overrides:
visitInsnin classorg.objectweb.asm.MethodVisitor
-
visitIntInsn
public void visitIntInsn(int opcode, int operand)- Overrides:
visitIntInsnin classorg.objectweb.asm.MethodVisitor
-
visitVarInsn
public void visitVarInsn(int opcode, int var)- Overrides:
visitVarInsnin classorg.objectweb.asm.MethodVisitor
-
visitTypeInsn
public void visitTypeInsn(int opcode, java.lang.String type)- Overrides:
visitTypeInsnin classorg.objectweb.asm.MethodVisitor
-
visitFieldInsn
public void visitFieldInsn(int opcode, java.lang.String owner, java.lang.String name, java.lang.String descriptor)- Overrides:
visitFieldInsnin classorg.objectweb.asm.MethodVisitor
-
visitMethodInsn
@Deprecated public void visitMethodInsn(int opcode, java.lang.String owner, java.lang.String name, java.lang.String descriptor)Deprecated.- Overrides:
visitMethodInsnin classorg.objectweb.asm.MethodVisitor
-
visitMethodInsn
public void visitMethodInsn(int opcode, java.lang.String owner, java.lang.String name, java.lang.String descriptor, boolean isInterface)- Overrides:
visitMethodInsnin classorg.objectweb.asm.MethodVisitor
-
visitInvokeDynamicInsn
public void visitInvokeDynamicInsn(java.lang.String name, java.lang.String descriptor, org.objectweb.asm.Handle bootstrapMethodHandle, java.lang.Object... bootstrapMethodArguments)- Overrides:
visitInvokeDynamicInsnin classorg.objectweb.asm.MethodVisitor
-
visitJumpInsn
public void visitJumpInsn(int opcode, org.objectweb.asm.Label label)- Overrides:
visitJumpInsnin classorg.objectweb.asm.MethodVisitor
-
visitLabel
public void visitLabel(org.objectweb.asm.Label label)
- Overrides:
visitLabelin classorg.objectweb.asm.MethodVisitor
-
visitLdcInsn
public void visitLdcInsn(java.lang.Object value)
- Overrides:
visitLdcInsnin classorg.objectweb.asm.MethodVisitor
-
visitIincInsn
public void visitIincInsn(int var, int increment)- Overrides:
visitIincInsnin classorg.objectweb.asm.MethodVisitor
-
visitTableSwitchInsn
public void visitTableSwitchInsn(int min, int max, org.objectweb.asm.Label dflt, org.objectweb.asm.Label... labels)- Overrides:
visitTableSwitchInsnin classorg.objectweb.asm.MethodVisitor
-
visitLookupSwitchInsn
public void visitLookupSwitchInsn(org.objectweb.asm.Label dflt, int[] keys, org.objectweb.asm.Label[] labels)- Overrides:
visitLookupSwitchInsnin classorg.objectweb.asm.MethodVisitor
-
visitMultiANewArrayInsn
public void visitMultiANewArrayInsn(java.lang.String descriptor, int numDimensions)- Overrides:
visitMultiANewArrayInsnin classorg.objectweb.asm.MethodVisitor
-
nop
public void nop()
-
aconst
public void aconst(java.lang.Object value)
-
iconst
public void iconst(int intValue)
-
lconst
public void lconst(long longValue)
-
fconst
public void fconst(float floatValue)
-
dconst
public void dconst(double doubleValue)
-
tconst
public void tconst(org.objectweb.asm.Type type)
-
hconst
public void hconst(org.objectweb.asm.Handle handle)
-
cconst
public void cconst(org.objectweb.asm.ConstantDynamic constantDynamic)
-
load
public void load(int var, org.objectweb.asm.Type type)
-
aload
public void aload(org.objectweb.asm.Type type)
-
store
public void store(int var, org.objectweb.asm.Type type)
-
astore
public void astore(org.objectweb.asm.Type type)
-
pop
public void pop()
-
pop2
public void pop2()
-
dup
public void dup()
-
dup2
public void dup2()
-
dupX1
public void dupX1()
-
dupX2
public void dupX2()
-
dup2X1
public void dup2X1()
-
dup2X2
public void dup2X2()
-
swap
public void swap()
-
add
public void add(org.objectweb.asm.Type type)
-
sub
public void sub(org.objectweb.asm.Type type)
-
mul
public void mul(org.objectweb.asm.Type type)
-
div
public void div(org.objectweb.asm.Type type)
-
rem
public void rem(org.objectweb.asm.Type type)
-
neg
public void neg(org.objectweb.asm.Type type)
-
shl
public void shl(org.objectweb.asm.Type type)
-
shr
public void shr(org.objectweb.asm.Type type)
-
ushr
public void ushr(org.objectweb.asm.Type type)
-
and
public void and(org.objectweb.asm.Type type)
-
or
public void or(org.objectweb.asm.Type type)
-
xor
public void xor(org.objectweb.asm.Type type)
-
iinc
public void iinc(int var, int increment)
-
cast
public void cast(org.objectweb.asm.Type from, org.objectweb.asm.Type to)
-
lcmp
public void lcmp()
-
cmpl
public void cmpl(org.objectweb.asm.Type type)
-
cmpg
public void cmpg(org.objectweb.asm.Type type)
-
ifeq
public void ifeq(org.objectweb.asm.Label label)
-
ifne
public void ifne(org.objectweb.asm.Label label)
-
iflt
public void iflt(org.objectweb.asm.Label label)
-
ifge
public void ifge(org.objectweb.asm.Label label)
-
ifgt
public void ifgt(org.objectweb.asm.Label label)
-
ifle
public void ifle(org.objectweb.asm.Label label)
-
ificmpeq
public void ificmpeq(org.objectweb.asm.Label label)
-
ificmpne
public void ificmpne(org.objectweb.asm.Label label)
-
ificmplt
public void ificmplt(org.objectweb.asm.Label label)
-
ificmpge
public void ificmpge(org.objectweb.asm.Label label)
-
ificmpgt
public void ificmpgt(org.objectweb.asm.Label label)
-
ificmple
public void ificmple(org.objectweb.asm.Label label)
-
ifacmpeq
public void ifacmpeq(org.objectweb.asm.Label label)
-
ifacmpne
public void ifacmpne(org.objectweb.asm.Label label)
-
goTo
public void goTo(org.objectweb.asm.Label label)
-
jsr
public void jsr(org.objectweb.asm.Label label)
-
ret
public void ret(int var)
-
tableswitch
public void tableswitch(int min, int max, org.objectweb.asm.Label dflt, org.objectweb.asm.Label... labels)
-
lookupswitch
public void lookupswitch(org.objectweb.asm.Label dflt, int[] keys, org.objectweb.asm.Label[] labels)
-
areturn
public void areturn(org.objectweb.asm.Type type)
-
getstatic
public void getstatic(java.lang.String owner, java.lang.String name, java.lang.String descriptor)
-
putstatic
public void putstatic(java.lang.String owner, java.lang.String name, java.lang.String descriptor)
-
getfield
public void getfield(java.lang.String owner, java.lang.String name, java.lang.String descriptor)
-
putfield
public void putfield(java.lang.String owner, java.lang.String name, java.lang.String descriptor)
-
invokevirtual
@Deprecated public void invokevirtual(java.lang.String owner, java.lang.String name, java.lang.String descriptor)Deprecated.- Parameters:
owner- the internal name of the method's owner class.name- the method's name.descriptor- the method's descriptor (seeType).
-
invokevirtual
public void invokevirtual(java.lang.String owner, java.lang.String name, java.lang.String descriptor, boolean isInterface)
-
invokespecial
@Deprecated public void invokespecial(java.lang.String owner, java.lang.String name, java.lang.String descriptor)Deprecated.- Parameters:
owner- the internal name of the method's owner class.name- the method's name.descriptor- the method's descriptor (seeType).
-
invokespecial
public void invokespecial(java.lang.String owner, java.lang.String name, java.lang.String descriptor, boolean isInterface)
-
invokestatic
@Deprecated public void invokestatic(java.lang.String owner, java.lang.String name, java.lang.String descriptor)Deprecated.- Parameters:
owner- the internal name of the method's owner class.name- the method's name.descriptor- the method's descriptor (seeType).
-
invokestatic
public void invokestatic(java.lang.String owner, java.lang.String name, java.lang.String descriptor, boolean isInterface)
-
invokeinterface
public void invokeinterface(java.lang.String owner, java.lang.String name, java.lang.String descriptor)
-
invokedynamic
public void invokedynamic(java.lang.String name, java.lang.String descriptor, org.objectweb.asm.Handle bootstrapMethodHandle, java.lang.Object[] bootstrapMethodArguments)
-
anew
public void anew(org.objectweb.asm.Type type)
-
newarray
public void newarray(org.objectweb.asm.Type type)
-
arraylength
public void arraylength()
-
athrow
public void athrow()
-
checkcast
public void checkcast(org.objectweb.asm.Type type)
-
instanceOf
public void instanceOf(org.objectweb.asm.Type type)
-
monitorenter
public void monitorenter()
-
monitorexit
public void monitorexit()
-
multianewarray
public void multianewarray(java.lang.String descriptor, int numDimensions)
-
ifnull
public void ifnull(org.objectweb.asm.Label label)
-
ifnonnull
public void ifnonnull(org.objectweb.asm.Label label)
-
mark
public void mark(org.objectweb.asm.Label label)
-
-