CodeEmitter (cglib (Version 2.2.2))
Keywords: net.sf.cglib.core.CodeEmitter class

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## net.sf.cglib.core
Class CodeEmitter

    java.lang.Object
      org.objectweb.asm.MethodAdapter
          net.sf.cglib.core.LocalVariablesSorter
              net.sf.cglib.core.CodeEmitter

All Implemented Interfaces:
  org.objectweb.asm.MethodVisitor

    public class CodeEmitter

extends LocalVariablesSorter

Author:
  Juozas Baliuka, Chris Nokleberg

Field Summary
`static int` | `ADD`
`static int` | `AND`
`static int` | `DIV`
`static int` | `EQ`
`static int` | `GE`
`static int` | `GT`
`static int` | `LE`
`static int` | `LT`
`static int` | `MUL`
`static int` | `NE`
`static int` | `NEG`
`static int` | `OR`
`static int` | `REM`
`static int` | `SUB`
`static int` | `USHR`
`static int` | `XOR`

Constructor Summary
`CodeEmitter(CodeEmitter wrap)`

Method Summary
`void` | `aaload()`
`void` | `aaload(int index)`
`void` | `aastore()`
`void` | `aconst_null()`
`void` | `array_load(org.objectweb.asm.Type type)`
`void` | `array_store(org.objectweb.asm.Type type)`
`void` | `arraylength()`
`void` | `athrow()`
`Block` | `begin_block()`
`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 another
`void` | `catch_exception(Block block, org.objectweb.asm.Type exception)`
`void` | `checkcast_this()`
`void` | `checkcast(org.objectweb.asm.Type type)`
`void` | `create_arg_array()` Allocates and fills an Object[] array with the arguments to the current method.
`void` | `dup_x1()`
`void` | `dup_x2()`
`void` | `dup()`
`void` | `dup2_x1()`
`void` | `dup2_x2()`
`void` | `dup2()`
`void` | `end_method()`
`ClassEmitter` | `getClassEmitter()`
`void` | `getfield(java.lang.String name)`
`void` | `getfield(org.objectweb.asm.Type owner, java.lang.String name, org.objectweb.asm.Type type)`
`MethodInfo` | `getMethodInfo()`
`org.objectweb.asm.Type` | `getReturnType()`
`Signature` | `getSignature()`
`void` | `getstatic(org.objectweb.asm.Type owner, java.lang.String name, org.objectweb.asm.Type type)`
`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` | `iinc(Local local, int amount)`
`void` | `instance_of_this()`
`void` | `instance_of(org.objectweb.asm.Type type)`
`void` | `invoke_constructor_this()`
`void` | `invoke_constructor_this(Signature sig)`
`void` | `invoke_constructor(org.objectweb.asm.Type type)`
`void` | `invoke_constructor(org.objectweb.asm.Type type, Signature sig)`
`void` | `invoke_interface(org.objectweb.asm.Type owner, Signature sig)`
`void` | `invoke_static_this(Signature sig)`
`void` | `invoke_static(org.objectweb.asm.Type owner, Signature sig)`
`void` | `invoke_virtual_this(Signature sig)`
`void` | `invoke_virtual(org.objectweb.asm.Type owner, Signature sig)`
`void` | `invoke(MethodInfo method)`
`void` | `invoke(MethodInfo method, org.objectweb.asm.Type virtualType)`
`boolean` | `isStaticHook()`
`void` | `load_arg(int index)` Pushes the specified argument of the current method onto the stack.
`void` | `load_args()` 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` | `load_this()`
`org.objectweb.asm.Label` | `make_label()`
`Local` | `make_local()`
`Local` | `make_local(org.objectweb.asm.Type type)`
`void` | `mark(org.objectweb.asm.Label label)`
`void` | `math(int op, org.objectweb.asm.Type type)`
`void` | `monitorenter()`
`void` | `monitorexit()`
`void` | `new_instance_this()`
`void` | `new_instance(org.objectweb.asm.Type type)`
`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 versa
`void` | `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` | `push(java.lang.String value)`
`void` | `putfield(java.lang.String name)`
`void` | `putfield(org.objectweb.asm.Type owner, java.lang.String name, org.objectweb.asm.Type type)`
`void` | `putstatic(org.objectweb.asm.Type owner, java.lang.String name, org.objectweb.asm.Type type)`
`void` | `return_value()`
`void` | `store_local(Local local)`
`void` | `super_getfield(java.lang.String name, org.objectweb.asm.Type type)`
`void` | `super_getstatic(java.lang.String name, org.objectweb.asm.Type type)`
`void` | `super_invoke_constructor()`
`void` | `super_invoke_constructor(Signature sig)`
`void` | `super_invoke()`
`void` | `super_invoke(Signature sig)`
`void` | `super_putfield(java.lang.String name, org.objectweb.asm.Type type)`
`void` | `super_putstatic(java.lang.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, java.lang.String msg)`
`void` | `unbox_or_zero(org.objectweb.asm.Type type)` Unboxes the object on the top of the stack.
`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` | `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
`visitIincInsn, visitLocalVariable, visitVarInsn`

Methods inherited from class org.objectweb.asm.MethodAdapter
`visitAnnotation, visitAnnotationDefault, visitAttribute, visitCode, visitEnd, visitFieldInsn, visitFrame, visitInsn, visitIntInsn, visitJumpInsn, visitLabel, visitLdcInsn, visitLineNumber, visitLookupSwitchInsn, visitMethodInsn, visitMultiANewArrayInsn, visitParameterAnnotation, visitTableSwitchInsn, visitTryCatchBlock, visitTypeInsn`

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### ADD

    public static final int ADD

See Also:
  Constant Field Values

### MUL

    public static final int MUL

See Also:
  Constant Field Values

### XOR

    public static final int XOR

See Also:
  Constant Field Values

### USHR

    public static final int USHR

See Also:
  Constant Field Values

### SUB

    public static final int SUB

See Also:
  Constant Field Values

### DIV

    public static final int DIV

See Also:
  Constant Field Values

### NEG

    public static final int NEG

See Also:
  Constant Field Values

### REM

    public static final int REM

See Also:
  Constant Field Values

### AND

    public static final int AND

See Also:
  Constant Field Values

### OR

    public static final int OR

See Also:
  Constant Field Values

### GT

    public static final int GT

See Also:
  Constant Field Values

### LT

    public static final int LT

See Also:
  Constant Field Values

### GE

    public static final int GE

See Also:
  Constant Field Values

### LE

    public static final int LE

See Also:
  Constant Field Values

### NE

    public static final int NE

See Also:
  Constant Field Values

### EQ

    public static final int EQ

See Also:
  Constant Field Values

Constructor Detail

### CodeEmitter

    public CodeEmitter(CodeEmitter wrap)

Method Detail

### isStaticHook

    public boolean isStaticHook()

### getSignature

    public Signature getSignature()

### getReturnType

    public org.objectweb.asm.Type getReturnType()

### getMethodInfo

    public MethodInfo getMethodInfo()

### getClassEmitter

    public ClassEmitter getClassEmitter()

### end_method

    public void end_method()

### begin_block

    public Block begin_block()

### catch_exception

    public void catch_exception(Block block,
                                org.objectweb.asm.Type 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

    public void push(java.lang.String value)

### 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

    public void iinc(Local local,
                     int amount)

### store_local

    public void store_local(Local local)

### load_local

    public void load_local(Local local)

### return_value

    public void return_value()

### getfield

    public void getfield(java.lang.String name)

### putfield

    public void putfield(java.lang.String name)

### super_getfield

    public void super_getfield(java.lang.String name,
                               org.objectweb.asm.Type type)

### super_putfield

    public void super_putfield(java.lang.String name,
                               org.objectweb.asm.Type type)

### super_getstatic

    public void super_getstatic(java.lang.String name,
                                org.objectweb.asm.Type type)

### super_putstatic

    public void super_putstatic(java.lang.String name,
                                org.objectweb.asm.Type type)

### getfield

    public void getfield(org.objectweb.asm.Type owner,
                         java.lang.String name,
                         org.objectweb.asm.Type type)

### putfield

    public void putfield(org.objectweb.asm.Type owner,
                         java.lang.String name,
                         org.objectweb.asm.Type type)

### getstatic

    public void getstatic(org.objectweb.asm.Type owner,
                          java.lang.String name,
                          org.objectweb.asm.Type type)

### putstatic

    public void putstatic(org.objectweb.asm.Type owner,
                          java.lang.String name,
                          org.objectweb.asm.Type type)

### super_invoke

    public void super_invoke()

### super_invoke

    public void super_invoke(Signature sig)

### 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

    public void invoke_interface(org.objectweb.asm.Type owner,
                                 Signature sig)

### invoke_virtual

    public void invoke_virtual(org.objectweb.asm.Type owner,
                               Signature sig)

### invoke_static

    public void invoke_static(org.objectweb.asm.Type owner,
                              Signature sig)

### invoke_virtual_this

    public void invoke_virtual_this(Signature sig)

### invoke_static_this

    public void invoke_static_this(Signature sig)

### invoke_constructor

    public void invoke_constructor(org.objectweb.asm.Type type,
                                   Signature sig)

### invoke_constructor_this

    public void invoke_constructor_this(Signature sig)

### super_invoke_constructor

    public void super_invoke_constructor(Signature sig)

### 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

    public Local make_local()

### make_local

    public Local make_local(org.objectweb.asm.Type type)

### 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

    public void process_switch(int[] keys,
                               ProcessSwitchCallback callback)

### process_switch

    public void process_switch(int[] keys,
                               ProcessSwitchCallback callback,
                               boolean useTable)

### 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

    public void throw_exception(org.objectweb.asm.Type type,
                                java.lang.String msg)

### 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)

  Specified by:
    `visitMaxs` in interface `org.objectweb.asm.MethodVisitor`
  Overrides:
    `visitMaxs` in class `LocalVariablesSorter`

### invoke

    public void invoke(MethodInfo method,
                       org.objectweb.asm.Type virtualType)

### invoke

    public void invoke(MethodInfo method)

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright (c) 2001 - Apache Software Foundation