net.sf.cglib.core
Class EmitUtils
java.lang.Object
net.sf.cglib.core.EmitUtils
- public class EmitUtils
- extends java.lang.Object
Method Summary |
static void |
add_property(ClassEmitter ce,
java.lang.String name,
org.objectweb.asm.Type type,
java.lang.String fieldName)
|
static void |
add_properties(ClassEmitter ce,
java.lang.String[] names,
org.objectweb.asm.Type[] types)
|
static void |
append_string(CodeEmitter e,
org.objectweb.asm.Type type,
EmitUtils.ArrayDelimiters delims,
Customizer customizer)
|
static void |
constructor_switch(CodeEmitter e,
java.lang.reflect.Constructor[] cstructs,
ObjectSwitchCallback callback)
|
static void |
factory_method(ClassEmitter ce,
Signature sig)
|
static void |
hash_code(CodeEmitter e,
org.objectweb.asm.Type type,
int multiplier,
Customizer customizer)
|
static void |
load_class_this(CodeEmitter e)
|
static void |
load_class(CodeEmitter e,
org.objectweb.asm.Type type)
|
static void |
load_method(CodeEmitter e,
java.lang.reflect.Method method)
|
static void |
method_switch(CodeEmitter e,
java.lang.reflect.Method[] methods,
ObjectSwitchCallback callback)
|
static void |
not_equals(CodeEmitter e,
org.objectweb.asm.Type type,
org.objectweb.asm.Label notEquals,
Customizer customizer)
Branches to the specified label if the top two items on the stack
are not equal. |
static void |
null_constructor(ClassEmitter ce)
|
static void |
process_array(CodeEmitter e,
org.objectweb.asm.Type type,
ProcessArrayCallback callback)
Process an array on the stack. |
static void |
process_arrays(CodeEmitter e,
org.objectweb.asm.Type type,
ProcessArrayCallback callback)
Process two arrays on the stack in parallel. |
static void |
push_array(CodeEmitter e,
java.lang.Object[] array)
|
static void |
push_object(CodeEmitter e,
java.lang.Object obj)
|
static void |
string_switch(CodeEmitter e,
java.lang.String[] strings,
int switchStyle,
ObjectSwitchCallback callback)
|
static void |
wrap_throwable(Block block,
org.objectweb.asm.Type wrapper)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
DEFAULT_DELIMITERS
public static final EmitUtils.ArrayDelimiters DEFAULT_DELIMITERS
factory_method
public static void factory_method(ClassEmitter ce,
Signature sig)
null_constructor
public static void null_constructor(ClassEmitter ce)
process_array
public static void process_array(CodeEmitter e,
org.objectweb.asm.Type type,
ProcessArrayCallback callback)
- Process an array on the stack. Assumes the top item on the stack
is an array of the specified type. For each element in the array,
puts the element on the stack and triggers the callback.
- Parameters:
type
- the type of the array (type.isArray() must be true)callback
- the callback triggered for each element
process_arrays
public static void process_arrays(CodeEmitter e,
org.objectweb.asm.Type type,
ProcessArrayCallback callback)
- Process two arrays on the stack in parallel. Assumes the top two items on the stack
are arrays of the specified class. The arrays must be the same length. For each pair
of elements in the arrays, puts the pair on the stack and triggers the callback.
- Parameters:
type
- the type of the arrays (type.isArray() must be true)callback
- the callback triggered for each pair of elements
string_switch
public static void string_switch(CodeEmitter e,
java.lang.String[] strings,
int switchStyle,
ObjectSwitchCallback callback)
load_class_this
public static void load_class_this(CodeEmitter e)
load_class
public static void load_class(CodeEmitter e,
org.objectweb.asm.Type type)
push_array
public static void push_array(CodeEmitter e,
java.lang.Object[] array)
push_object
public static void push_object(CodeEmitter e,
java.lang.Object obj)
hash_code
public static void hash_code(CodeEmitter e,
org.objectweb.asm.Type type,
int multiplier,
Customizer customizer)
not_equals
public static void not_equals(CodeEmitter e,
org.objectweb.asm.Type type,
org.objectweb.asm.Label notEquals,
Customizer customizer)
- Branches to the specified label if the top two items on the stack
are not equal. The items must both be of the specified
class. Equality is determined by comparing primitive values
directly and by invoking the
equals
method for
Objects. Arrays are recursively processed in the same manner.
append_string
public static void append_string(CodeEmitter e,
org.objectweb.asm.Type type,
EmitUtils.ArrayDelimiters delims,
Customizer customizer)
load_method
public static void load_method(CodeEmitter e,
java.lang.reflect.Method method)
method_switch
public static void method_switch(CodeEmitter e,
java.lang.reflect.Method[] methods,
ObjectSwitchCallback callback)
constructor_switch
public static void constructor_switch(CodeEmitter e,
java.lang.reflect.Constructor[] cstructs,
ObjectSwitchCallback callback)
wrap_throwable
public static void wrap_throwable(Block block,
org.objectweb.asm.Type wrapper)
add_properties
public static void add_properties(ClassEmitter ce,
java.lang.String[] names,
org.objectweb.asm.Type[] types)
add_property
public static void add_property(ClassEmitter ce,
java.lang.String name,
org.objectweb.asm.Type type,
java.lang.String fieldName)
Copyright © 2002-2003 cglib. All Rights Reserved.