Package net.sf.cglib.core
Class CodeEmitter
java.lang.Object
org.objectweb.asm.MethodVisitor
net.sf.cglib.core.LocalVariablesSorter
net.sf.cglib.core.CodeEmitter
- Author:
- Juozas Baliuka, Chris Nokleberg
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
Fields inherited from class net.sf.cglib.core.LocalVariablesSorter
firstLocal
Fields inherited from class org.objectweb.asm.MethodVisitor
api, mv
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
aaload()
void
aaload
(int index) void
aastore()
void
void
array_load
(org.objectweb.asm.Type type) void
array_store
(org.objectweb.asm.Type type) void
void
athrow()
void
box
(org.objectweb.asm.Type type) If the argument is a primitive class, replaces the primitive value on the top of the stack with the wrapped (Object) equivalent.void
cast_numeric
(org.objectweb.asm.Type from, org.objectweb.asm.Type to) Casts from one primitive numeric type to anothervoid
catch_exception
(Block block, org.objectweb.asm.Type exception) void
checkcast
(org.objectweb.asm.Type type) void
void
Allocates and fills an Object[] array with the arguments to the current method.void
dup()
void
dup_x1()
void
dup_x2()
void
dup2()
void
dup2_x1()
void
dup2_x2()
void
void
void
org.objectweb.asm.Type
void
void
goTo
(org.objectweb.asm.Label label) void
if_cmp
(org.objectweb.asm.Type type, int mode, org.objectweb.asm.Label label) void
if_icmp
(int mode, org.objectweb.asm.Label label) void
if_jump
(int mode, org.objectweb.asm.Label label) void
ifnonnull
(org.objectweb.asm.Label label) void
ifnull
(org.objectweb.asm.Label label) void
void
instance_of
(org.objectweb.asm.Type type) void
void
invoke
(MethodInfo method) void
invoke
(MethodInfo method, org.objectweb.asm.Type virtualType) void
invoke_constructor
(org.objectweb.asm.Type type) void
invoke_constructor
(org.objectweb.asm.Type type, Signature sig) void
void
void
invoke_interface
(org.objectweb.asm.Type owner, Signature sig) void
invoke_static
(org.objectweb.asm.Type owner, Signature sig) Deprecated.void
invoke_static
(org.objectweb.asm.Type owner, Signature sig, boolean isInterface) void
void
invoke_virtual
(org.objectweb.asm.Type owner, Signature sig) void
boolean
void
load_arg
(int index) Pushes the specified argument of the current method onto the stack.void
Pushes all of the arguments of the current method onto the stack.void
load_args
(int fromArg, int count) void
load_local
(Local local) void
org.objectweb.asm.Label
make_local
(org.objectweb.asm.Type type) void
mark
(org.objectweb.asm.Label label) void
math
(int op, org.objectweb.asm.Type type) void
void
void
new_instance
(org.objectweb.asm.Type type) void
void
newarray()
void
newarray
(org.objectweb.asm.Type type) void
not()
Toggles the integer on the top of the stack from 1 to 0 or vice versavoid
pop()
void
pop2()
void
process_switch
(int[] keys, ProcessSwitchCallback callback) void
process_switch
(int[] keys, ProcessSwitchCallback callback, boolean useTable) void
push
(boolean value) void
push
(double value) void
push
(float value) void
push
(int i) void
push
(long value) void
void
void
void
void
void
store_local
(Local local) void
super_getfield
(String name, org.objectweb.asm.Type type) void
super_getstatic
(String name, org.objectweb.asm.Type type) void
void
super_invoke
(Signature sig) void
void
void
super_putfield
(String name, org.objectweb.asm.Type type) void
super_putstatic
(String name, org.objectweb.asm.Type type) void
swap()
void
swap
(org.objectweb.asm.Type prev, org.objectweb.asm.Type type) void
throw_exception
(org.objectweb.asm.Type type, String msg) void
unbox
(org.objectweb.asm.Type type) If the argument is a primitive class, replaces the object on the top of the stack with the unwrapped (primitive) equivalent.void
unbox_or_zero
(org.objectweb.asm.Type type) Unboxes the object on the top of the stack.void
visitMaxs
(int maxStack, int maxLocals) void
zero_or_null
(org.objectweb.asm.Type type) Pushes a zero onto the stack if the argument is a primitive class, or a null otherwise.Methods inherited from class net.sf.cglib.core.LocalVariablesSorter
newLocal, visitIincInsn, visitLocalVariable, visitVarInsn
Methods inherited from class org.objectweb.asm.MethodVisitor
getDelegate, visitAnnotableParameterCount, visitAnnotation, visitAnnotationDefault, visitAttribute, visitCode, visitEnd, visitFieldInsn, visitFrame, visitInsn, visitInsnAnnotation, visitIntInsn, visitInvokeDynamicInsn, visitJumpInsn, visitLabel, visitLdcInsn, visitLineNumber, visitLocalVariableAnnotation, visitLookupSwitchInsn, visitMethodInsn, visitMethodInsn, visitMultiANewArrayInsn, visitParameter, visitParameterAnnotation, visitTableSwitchInsn, visitTryCatchAnnotation, visitTryCatchBlock, visitTypeAnnotation, visitTypeInsn
-
Field Details
-
ADD
public static final int ADD- See Also:
-
MUL
public static final int MUL- See Also:
-
XOR
public static final int XOR- See Also:
-
USHR
public static final int USHR- See Also:
-
SUB
public static final int SUB- See Also:
-
DIV
public static final int DIV- See Also:
-
NEG
public static final int NEG- See Also:
-
REM
public static final int REM- See Also:
-
AND
public static final int AND- See Also:
-
OR
public static final int OR- See Also:
-
GT
public static final int GT- See Also:
-
LT
public static final int LT- See Also:
-
GE
public static final int GE- See Also:
-
LE
public static final int LE- See Also:
-
NE
public static final int NE- See Also:
-
EQ
public static final int EQ- See Also:
-
-
Constructor Details
-
CodeEmitter
-
-
Method Details
-
isStaticHook
public boolean isStaticHook() -
getSignature
-
getReturnType
public org.objectweb.asm.Type getReturnType() -
getMethodInfo
-
getClassEmitter
-
end_method
public void end_method() -
begin_block
-
catch_exception
-
goTo
public void goTo(org.objectweb.asm.Label label) -
ifnull
public void ifnull(org.objectweb.asm.Label label) -
ifnonnull
public void ifnonnull(org.objectweb.asm.Label label) -
if_jump
public void if_jump(int mode, org.objectweb.asm.Label label) -
if_icmp
public void if_icmp(int mode, org.objectweb.asm.Label label) -
if_cmp
public void if_cmp(org.objectweb.asm.Type type, int mode, org.objectweb.asm.Label label) -
pop
public void pop() -
pop2
public void pop2() -
dup
public void dup() -
dup2
public void dup2() -
dup_x1
public void dup_x1() -
dup_x2
public void dup_x2() -
dup2_x1
public void dup2_x1() -
dup2_x2
public void dup2_x2() -
swap
public void swap() -
aconst_null
public void aconst_null() -
swap
public void swap(org.objectweb.asm.Type prev, org.objectweb.asm.Type type) -
monitorenter
public void monitorenter() -
monitorexit
public void monitorexit() -
math
public void math(int op, org.objectweb.asm.Type type) -
array_load
public void array_load(org.objectweb.asm.Type type) -
array_store
public void array_store(org.objectweb.asm.Type type) -
cast_numeric
public void cast_numeric(org.objectweb.asm.Type from, org.objectweb.asm.Type to) Casts from one primitive numeric type to another -
push
public void push(int i) -
push
public void push(long value) -
push
public void push(float value) -
push
public void push(double value) -
push
-
newarray
public void newarray() -
newarray
public void newarray(org.objectweb.asm.Type type) -
arraylength
public void arraylength() -
load_this
public void load_this() -
load_args
public void load_args()Pushes all of the arguments of the current method onto the stack. -
load_arg
public void load_arg(int index) Pushes the specified argument of the current method onto the stack.- Parameters:
index
- the zero-based index into the argument list
-
load_args
public void load_args(int fromArg, int count) -
iinc
-
store_local
-
load_local
-
return_value
public void return_value() -
getfield
-
putfield
-
super_getfield
-
super_putfield
-
super_getstatic
-
super_putstatic
-
getfield
-
putfield
-
getstatic
-
putstatic
-
super_invoke
public void super_invoke() -
super_invoke
-
invoke_constructor
public void invoke_constructor(org.objectweb.asm.Type type) -
super_invoke_constructor
public void super_invoke_constructor() -
invoke_constructor_this
public void invoke_constructor_this() -
invoke_interface
-
invoke_virtual
-
invoke_static
Deprecated. -
invoke_static
-
invoke_virtual_this
-
invoke_static_this
-
invoke_constructor
-
invoke_constructor_this
-
super_invoke_constructor
-
new_instance_this
public void new_instance_this() -
new_instance
public void new_instance(org.objectweb.asm.Type type) -
aaload
public void aaload(int index) -
aaload
public void aaload() -
aastore
public void aastore() -
athrow
public void athrow() -
make_label
public org.objectweb.asm.Label make_label() -
make_local
-
make_local
-
checkcast_this
public void checkcast_this() -
checkcast
public void checkcast(org.objectweb.asm.Type type) -
instance_of
public void instance_of(org.objectweb.asm.Type type) -
instance_of_this
public void instance_of_this() -
process_switch
-
process_switch
-
mark
public void mark(org.objectweb.asm.Label label) -
push
public void push(boolean value) -
not
public void not()Toggles the integer on the top of the stack from 1 to 0 or vice versa -
throw_exception
-
box
public void box(org.objectweb.asm.Type type) If the argument is a primitive class, replaces the primitive value on the top of the stack with the wrapped (Object) equivalent. For example, char -> Character. If the class is Void, a null is pushed onto the stack instead.- Parameters:
type
- the class indicating the current type of the top stack value
-
unbox
public void unbox(org.objectweb.asm.Type type) If the argument is a primitive class, replaces the object on the top of the stack with the unwrapped (primitive) equivalent. For example, Character -> char.- Parameters:
type
- the class indicating the desired type of the top stack value
-
create_arg_array
public void create_arg_array()Allocates and fills an Object[] array with the arguments to the current method. Primitive values are inserted as their boxed (Object) equivalents. -
zero_or_null
public void zero_or_null(org.objectweb.asm.Type type) Pushes a zero onto the stack if the argument is a primitive class, or a null otherwise. -
unbox_or_zero
public void unbox_or_zero(org.objectweb.asm.Type type) Unboxes the object on the top of the stack. If the object is null, the unboxed primitive value becomes zero. -
visitMaxs
public void visitMaxs(int maxStack, int maxLocals) - Overrides:
visitMaxs
in classLocalVariablesSorter
-
invoke
-
invoke
-