クラス CodeEmitter


public class CodeEmitter extends LocalVariablesSorter
作成者:
Juozas Baliuka, Chris Nokleberg
  • フィールドの詳細

  • コンストラクターの詳細

  • メソッドの詳細

    • isStaticHook

      public boolean isStaticHook()
    • getSignature

      public Signature getSignature()
    • getReturnType

      public 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, Type exception)
    • goTo

      public void goTo(Label label)
    • ifnull

      public void ifnull(Label label)
    • ifnonnull

      public void ifnonnull(Label label)
    • if_jump

      public void if_jump(int mode, Label label)
    • if_icmp

      public void if_icmp(int mode, Label label)
    • if_cmp

      public void if_cmp(Type type, int mode, 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(Type prev, Type type)
    • monitorenter

      public void monitorenter()
    • monitorexit

      public void monitorexit()
    • math

      public void math(int op, Type type)
    • array_load

      public void array_load(Type type)
    • array_store

      public void array_store(Type type)
    • cast_numeric

      public void cast_numeric(Type from, Type to)
      あるプリミティブ数値型から別の数値型へのキャスト
    • 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(StringSE value)
    • newarray

      public void newarray()
    • newarray

      public void newarray(Type type)
    • arraylength

      public void arraylength()
    • load_this

      public void load_this()
    • load_args

      public void load_args()
      現在のメソッドのすべての引数をスタックにプッシュします。
    • load_arg

      public void load_arg(int index)
      現在のメソッドの指定された引数をスタックにプッシュします。
      パラメーター:
      index - 引数リストへのゼロから始まるインデックス
    • 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(StringSE name)
    • putfield

      public void putfield(StringSE name)
    • super_getfield

      public void super_getfield(StringSE name, Type type)
    • super_putfield

      public void super_putfield(StringSE name, Type type)
    • super_getstatic

      public void super_getstatic(StringSE name, Type type)
    • super_putstatic

      public void super_putstatic(StringSE name, Type type)
    • getfield

      public void getfield(Type owner, StringSE name, Type type)
    • putfield

      public void putfield(Type owner, StringSE name, Type type)
    • getstatic

      public void getstatic(Type owner, StringSE name, Type type)
    • putstatic

      public void putstatic(Type owner, StringSE name, Type type)
    • super_invoke

      public void super_invoke()
    • super_invoke

      public void super_invoke(Signature sig)
    • invoke_constructor

      public void invoke_constructor(Type type)
    • super_invoke_constructor

      public void super_invoke_constructor()
    • invoke_constructor_this

      public void invoke_constructor_this()
    • invoke_interface

      public void invoke_interface(Type owner, Signature sig)
    • invoke_virtual

      public void invoke_virtual(Type owner, Signature sig)
    • invoke_static

      @DeprecatedSE public void invoke_static(Type owner, Signature sig)
      使用すべきではありません。
    • invoke_static

      public void invoke_static(Type owner, Signature sig, boolean isInterface)
    • 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(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(Type type)
    • aaload

      public void aaload(int index)
    • aaload

      public void aaload()
    • aastore

      public void aastore()
    • athrow

      public void athrow()
    • make_label

      public Label make_label()
    • make_local

      public Local make_local()
    • make_local

      public Local make_local(Type type)
    • checkcast_this

      public void checkcast_this()
    • checkcast

      public void checkcast(Type type)
    • instance_of

      public void instance_of(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(Label label)
    • push

      public void push(boolean value)
    • not

      public void not()
      スタックの一番上の整数を 1 から 0 に、またはその逆に切り替えます
    • throw_exception

      public void throw_exception(Type type, StringSE msg)
    • box

      public void box(Type type)
      引数がプリミティブクラスの場合、スタックの一番上にあるプリミティブ値をラップされた (オブジェクト) 同等のものに置き換えます。例: char -> 文字。クラスが Void の場合、代わりに null がスタックにプッシュされます。
      パラメーター:
      type - トップスタック値の現在の型を示すクラス
    • unbox

      public void unbox(Type type)
      引数がプリミティブクラスの場合、スタックの一番上にあるオブジェクトをラップされていない (プリミティブな) 同等のものに置き換えます。例: 文字 -> 文字。
      パラメーター:
      type - トップスタック値の目的の型を示すクラス
    • create_arg_array

      public void create_arg_array()
      現在のメソッドへの引数を Object[] 配列に割り当てて埋めます。プリミティブ値は、ボックス化された (オブジェクト) 同等物として挿入されます。
    • zero_or_null

      public void zero_or_null(Type type)
      引数がプリミティブクラスの場合はゼロをスタックにプッシュし、それ以外の場合は null をプッシュします。
    • unbox_or_zero

      public void unbox_or_zero(Type type)
      スタックの一番上にあるオブジェクトをアンボックスします。オブジェクトが null の場合、ボックス化されていないプリミティブ値はゼロになります。
    • visitMaxs

      public void visitMaxs(int maxStack, int maxLocals)
      クラスからコピーされた説明: MethodVisitor
      メソッドの最大スタックサイズとローカル変数の最大数にアクセスします。
      オーバーライド:
      クラス LocalVariablesSortervisitMaxs 
      パラメーター:
      maxStack - メソッドの最大スタックサイズ。
      maxLocals - メソッドのローカル変数の最大数。
    • invoke

      public void invoke(MethodInfo method, Type virtualType)
    • invoke

      public void invoke(MethodInfo method)