インタフェースjava.lang.classfile.CodeBuilderの
使用
CodeBuilderを使用するパッケージ
-
java.lang.classfileでのCodeBuilderの使用
java.lang.classfileのCodeBuilderのサブインタフェースjava.lang.classfileにCodeBuilder型の引数型を持つサブインタフェースCodeBuilderを返すjava.lang.classfileのメソッド修飾子と型メソッド説明default CodeBuilderCodeBuilder.aaload()reference配列からロードする命令を生成します。default CodeBuilderCodeBuilder.aastore()reference配列に格納する命令を生成します。default CodeBuilderCodeBuilder.aconst_null()nullオブジェクトreferenceをオペランド・スタックにプッシュする命令を生成します。default CodeBuilderCodeBuilder.aload(int slot) ローカル変数からreferenceをロードする命令を生成します。default CodeBuilderCodeBuilder.anewarray(ClassEntry classEntry) referenceの新しい配列を作成する命令を生成します。default CodeBuilderreferenceの新しい配列を作成する命令を生成します。default CodeBuilderCodeBuilder.areturn()このメソッドからreferenceを返す命令を生成します。default CodeBuilderCodeBuilder.arraylength()配列の長さを取得する命令を生成します。default CodeBuilder配列からロードする命令を生成します。default CodeBuilderCodeBuilder.arrayStore(TypeKind tk) 配列に格納する命令を生成します。default CodeBuilderCodeBuilder.astore(int slot) referenceをローカル変数に格納する命令を生成します。default CodeBuilderCodeBuilder.athrow()例外またはエラーをスローする命令を生成します。default CodeBuilderCodeBuilder.baload()default CodeBuilderCodeBuilder.bastore()default CodeBuilderCodeBuilder.bipush(int b) default CodeBuilderCodeBuilder.block(Consumer<CodeBuilder.BlockCodeBuilder> handler) 構築中のメソッドに字句ブロックを追加します。default CodeBuilderブランチ命令を生成します。default CodeBuilderCodeBuilder.caload()char配列からロードする命令を生成します。default CodeBuilderCodeBuilder.castore()char配列に格納する命令を生成します。default CodeBuilderCodeBuilder.characterRange(Label startScope, Label endScope, int characterRangeStart, int characterRangeEnd, int flags) 文字範囲エントリを宣言します。default CodeBuilderCodeBuilder.checkcast(ClassEntry type) オブジェクトが指定の型かどうかをチェックする命令を生成し、チェックが失敗した場合はClassCastExceptionをスローします。default CodeBuilderオブジェクトが指定の型かどうかをチェックする命令を生成し、チェックが失敗した場合はClassCastExceptionをスローします。default CodeBuilderCodeBuilder.conversion(TypeKind fromType, TypeKind toType) Generatesinstruction(s):fromTypeをtoTypeに変換します。default CodeBuilderCodeBuilder.d2f()default CodeBuilderCodeBuilder.d2i()default CodeBuilderCodeBuilder.d2l()default CodeBuilderCodeBuilder.dadd()2つのdoublesを追加する命令を生成します。default CodeBuilderCodeBuilder.daload()double配列からロードする命令を生成します。default CodeBuilderCodeBuilder.dastore()double配列に格納する命令を生成します。default CodeBuilderCodeBuilder.dcmpg()default CodeBuilderCodeBuilder.dcmpl()default CodeBuilderCodeBuilder.dconst_0()double定数0をオペランド・スタックにプッシュする命令を生成します。default CodeBuilderCodeBuilder.dconst_1()double定数1をオペランド・スタックにプッシュする命令を生成します。default CodeBuilderCodeBuilder.ddiv()doublesを分割する命令を生成します。default CodeBuilderCodeBuilder.dload(int slot) ローカル変数からdoubleをロードする命令を生成します。default CodeBuilderCodeBuilder.dmul()doublesを乗算する命令を生成します。default CodeBuilderCodeBuilder.dneg()doubleを否定する命令を生成します。default CodeBuilderCodeBuilder.drem()double剰余を計算する命令を生成します。default CodeBuilderCodeBuilder.dreturn()このメソッドからdoubleを返す命令を生成します。default CodeBuilderCodeBuilder.dstore(int slot) doubleをローカル変数に格納する命令を生成します。default CodeBuilderCodeBuilder.dsub()doublesを減算する命令を生成します。default CodeBuilderCodeBuilder.dup()上部のオペランド・スタック値を複製する命令を生成します。default CodeBuilderCodeBuilder.dup_x1()上部のオペランド・スタック値を複製し、下に2つの値を挿入する命令を生成します。default CodeBuilderCodeBuilder.dup_x2()上部のオペランド・スタック値を複製し、2つまたは3つの値を下に挿入する命令を生成します。default CodeBuilderCodeBuilder.dup2()上位1つまたは2つのオペランド・スタック値を複製する命令を生成します。default CodeBuilderCodeBuilder.dup2_x1()上位1つまたは2つのオペランド・スタック値を複製し、2つまたは3つの値を下に挿入する命令を生成します。default CodeBuilderCodeBuilder.dup2_x2()上位1つまたは2つのオペランド・スタック値を複製し、2つ、3つ、または4つの値を下に挿入する命令を生成します。default CodeBuilderCodeBuilder.exceptionCatch(Label start, Label end, Label handler, ClassEntry catchType) 例外表エントリを宣言します。default CodeBuilderCodeBuilder.exceptionCatch(Label start, Label end, Label handler, ClassDesc catchType) 例外表エントリを宣言します。default CodeBuilderCodeBuilder.exceptionCatch(Label start, Label end, Label handler, Optional<ClassEntry> catchType) 例外表エントリを宣言します。default CodeBuilderCodeBuilder.exceptionCatchAll(Label start, Label end, Label handler) すべての例外およびエラーを捕捉する例外表エントリを宣言します。default CodeBuilderCodeBuilder.f2d()default CodeBuilderCodeBuilder.f2i()default CodeBuilderCodeBuilder.f2l()default CodeBuilderCodeBuilder.fadd()2つのfloatsを追加する命令を生成します。default CodeBuilderCodeBuilder.faload()float配列からロードする命令を生成します。default CodeBuilderCodeBuilder.fastore()float配列に格納する命令を生成します。default CodeBuilderCodeBuilder.fcmpg()default CodeBuilderCodeBuilder.fcmpl()default CodeBuilderCodeBuilder.fconst_0()float定数0をオペランド・スタックにプッシュする命令を生成します。default CodeBuilderCodeBuilder.fconst_1()float定数1をオペランド・スタックにプッシュする命令を生成します。default CodeBuilderCodeBuilder.fconst_2()float定数2をオペランド・スタックにプッシュする命令を生成します。default CodeBuilderCodeBuilder.fdiv()floatsを分割する命令を生成します。default CodeBuilderCodeBuilder.fieldAccess(Opcode opcode, FieldRefEntry ref) フィールドにアクセスするための指示を生成します。default CodeBuilderCodeBuilder.fieldAccess(Opcode opcode, ClassDesc owner, String name, ClassDesc type) フィールドにアクセスするための指示を生成します。default CodeBuilderCodeBuilder.fload(int slot) ローカル変数からfloatをロードする命令を生成します。default CodeBuilderCodeBuilder.fmul()floatsを乗算する命令を生成します。default CodeBuilderCodeBuilder.fneg()floatを否定する命令を生成します。default CodeBuilderCodeBuilder.frem()floats剰余を計算する命令を生成します。default CodeBuilderCodeBuilder.freturn()このメソッドからfloatを返す命令を生成します。default CodeBuilderCodeBuilder.fstore(int slot) floatをローカル変数に格納する命令を生成します。default CodeBuilderCodeBuilder.fsub()floatsを減算する命令を生成します。default CodeBuilderCodeBuilder.getfield(FieldRefEntry ref) オブジェクトからフィールドをフェッチする命令を生成します。default CodeBuilderオブジェクトからフィールドをフェッチする命令を生成します。default CodeBuilderCodeBuilder.getstatic(FieldRefEntry ref) クラスまたはインタフェースから静的フィールドを取得する命令を生成します。default CodeBuilderクラスまたはインタフェースから静的フィールドを取得する命令を生成します。default CodeBuilder常に分岐する命令を生成します。default CodeBuilder常にワイド・インデックスで分岐する命令を生成します。default CodeBuilderCodeBuilder.i2b()default CodeBuilderCodeBuilder.i2c()default CodeBuilderCodeBuilder.i2d()default CodeBuilderCodeBuilder.i2f()default CodeBuilderCodeBuilder.i2l()default CodeBuilderCodeBuilder.i2s()default CodeBuilderCodeBuilder.iadd()2つのintsを追加する命令を生成します。default CodeBuilderCodeBuilder.iaload()int配列からロードする命令を生成します。default CodeBuilderCodeBuilder.iand()default CodeBuilderCodeBuilder.iastore()int配列に格納する命令を生成します。default CodeBuilderCodeBuilder.iconst_0()int定数0をオペランド・スタックにプッシュする命令を生成します。default CodeBuilderCodeBuilder.iconst_1()int定数1をオペランド・スタックにプッシュする命令を生成します。default CodeBuilderCodeBuilder.iconst_2()int定数2をオペランド・スタックにプッシュする命令を生成します。default CodeBuilderCodeBuilder.iconst_3()int定数3をオペランド・スタックにプッシュする命令を生成します。default CodeBuilderCodeBuilder.iconst_4()int定数4をオペランド・スタックにプッシュする命令を生成します。default CodeBuilderCodeBuilder.iconst_5()int定数5をオペランド・スタックにプッシュする命令を生成します。default CodeBuilderCodeBuilder.iconst_m1()int定数 -1をオペランド・スタックにプッシュする命令を生成します。default CodeBuilderCodeBuilder.idiv()intsを分割する命令を生成します。default CodeBuilderreference比較operand1 == operand2が成功した場合に分岐する命令を生成します。default CodeBuilderreference比較operand1 != operand2が成功した場合に分岐する命令を生成します。default CodeBuilderint比較operand1 == operand2が成功した場合に分岐する命令を生成します。default CodeBuilderint比較operand1 >= operand2が成功した場合に分岐する命令を生成します。default CodeBuilderint比較operand1 > operand2が成功した場合に分岐する命令を生成します。default CodeBuilderint比較operand1 <= operand2が成功した場合に分岐する命令を生成します。default CodeBuilderint比較operand1 < operand2が成功した場合に分岐する命令を生成します。default CodeBuilderint比較operand1 != operand2が成功した場合に分岐する命令を生成します。default CodeBuilderintと0(ゼロ)の== 0の比較が成功した場合、分岐する命令を生成します。default CodeBuilderintと0(ゼロ)の>= 0の比較が成功した場合、分岐する命令を生成します。default CodeBuilderintと0(ゼロ)の> 0の比較が成功した場合、分岐する命令を生成します。default CodeBuilderintと0(ゼロ)の<= 0の比較が成功した場合、分岐する命令を生成します。default CodeBuilderintと0(ゼロ)の< 0の比較が成功した場合、分岐する命令を生成します。default CodeBuilderintと0(ゼロ)の!= 0の比較が成功した場合、分岐する命令を生成します。default CodeBuilderreferenceがnullでない場合に分岐する命令を生成します。default CodeBuilderreferenceがnullの場合、分岐する命令を生成します。default CodeBuilderCodeBuilder.ifThen(Opcode opcode, Consumer<CodeBuilder.BlockCodeBuilder> thenHandler) 指定されたopcodeに従って、オペランド・スタックの上にあるthevalue(s)に条件付き"if-then"ブロックを追加します。default CodeBuilderCodeBuilder.ifThen(Consumer<CodeBuilder.BlockCodeBuilder> thenHandler) オペランド・スタック上部のboolean値に条件付き"if-then"ブロックを追加します。default CodeBuilderCodeBuilder.ifThenElse(Opcode opcode, Consumer<CodeBuilder.BlockCodeBuilder> thenHandler, Consumer<CodeBuilder.BlockCodeBuilder> elseHandler) 指定されたopcodeに従って、オペランド・スタックの上にあるthevalue(s)に条件付き"if-then-else"ブロックを追加します。default CodeBuilderCodeBuilder.ifThenElse(Consumer<CodeBuilder.BlockCodeBuilder> thenHandler, Consumer<CodeBuilder.BlockCodeBuilder> elseHandler) オペランド・スタック上部のboolean値に条件付き"if-then-else"ブロックを追加します。default CodeBuilderCodeBuilder.iinc(int slot, int val) intローカル変数を定数で増分する命令を生成します。default CodeBuilderCodeBuilder.iload(int slot) ローカル変数からintをロードする命令を生成します。default CodeBuilderCodeBuilder.imul()intsを乗算する命令を生成します。default CodeBuilderCodeBuilder.ineg()intを否定する命令を生成します。default CodeBuilderCodeBuilder.instanceOf(ClassEntry target) オブジェクトが指定された型であるかどうかを判断する命令を生成し、オペランド・スタックにbooleanの結果を生成します。default CodeBuilderCodeBuilder.instanceOf(ClassDesc target) オブジェクトが指定された型であるかどうかを判断する命令を生成し、オペランド・スタックにbooleanの結果を生成します。default CodeBuilderCodeBuilder.invoke(Opcode opcode, MemberRefEntry ref) メソッドを呼び出す命令を生成します。default CodeBuilderCodeBuilder.invoke(Opcode opcode, ClassDesc owner, String name, MethodTypeDesc desc, boolean isInterface) メソッドを呼び出す命令を生成します。default CodeBuilderCodeBuilder.invokedynamic(InvokeDynamicEntry ref) 動的に計算されたコール・サイトを起動する命令を生成します。default CodeBuilderCodeBuilder.invokedynamic(DynamicCallSiteDesc ref) 動的に計算されたコール・サイトを起動する命令を生成します。default CodeBuilderCodeBuilder.invokeinterface(InterfaceMethodRefEntry ref) インタフェース・メソッドを起動する命令を生成します。default CodeBuilderCodeBuilder.invokeinterface(ClassDesc owner, String name, MethodTypeDesc type) インタフェース・メソッドを起動する命令を生成します。default CodeBuilderCodeBuilder.invokespecial(InterfaceMethodRefEntry ref) インタフェースでインスタンス・メソッドを呼び出す命令を生成します。現在のクラスのメソッドとそのスーパータイプを直接呼び出します。default CodeBuilderCodeBuilder.invokespecial(MethodRefEntry ref) クラス内のインスタンス・メソッドを起動する命令を生成します。現在のクラスのインスタンス初期化メソッドおよびメソッドとそのスーパータイプを直接呼び出します。default CodeBuilderCodeBuilder.invokespecial(ClassDesc owner, String name, MethodTypeDesc type) クラス内のインスタンス・メソッドを起動する命令を生成します。現在のクラスのインスタンス初期化メソッドおよびメソッドとそのスーパータイプを直接呼び出します。default CodeBuilderCodeBuilder.invokespecial(ClassDesc owner, String name, MethodTypeDesc type, boolean isInterface) インスタンス・メソッドを起動する命令を生成します。インスタンス初期化メソッドと、現在のクラスとそのスーパータイプのメソッドを直接呼び出します。default CodeBuilderCodeBuilder.invokestatic(InterfaceMethodRefEntry ref) インタフェースのクラス(static)メソッドを起動する命令を生成します。default CodeBuilderCodeBuilder.invokestatic(MethodRefEntry ref) クラスの(static)メソッドを呼び出す命令を生成します。default CodeBuilderCodeBuilder.invokestatic(ClassDesc owner, String name, MethodTypeDesc type) クラスの(static)メソッドを呼び出す命令を生成します。default CodeBuilderCodeBuilder.invokestatic(ClassDesc owner, String name, MethodTypeDesc type, boolean isInterface) クラス(static)メソッドを起動する命令を生成します。default CodeBuilderCodeBuilder.invokevirtual(MethodRefEntry ref) インスタンス・メソッドを起動する命令を生成します。クラスに基づいてディスパッチします。default CodeBuilderCodeBuilder.invokevirtual(ClassDesc owner, String name, MethodTypeDesc type) インスタンス・メソッドを起動する命令を生成します。クラスに基づいてディスパッチします。default CodeBuilderCodeBuilder.ior()default CodeBuilderCodeBuilder.irem()ints剰余を計算する命令を生成します。default CodeBuilderCodeBuilder.ireturn()このメソッドからintを返す命令を生成します。default CodeBuilderCodeBuilder.ishl()intを左にシフトする命令を生成します。default CodeBuilderCodeBuilder.ishr()intを右にシフトする命令を生成します。default CodeBuilderCodeBuilder.istore(int slot) intをローカル変数に格納する命令を生成します。default CodeBuilderCodeBuilder.isub()intsを減算する命令を生成します。default CodeBuilderCodeBuilder.iushr()int権限を論理シフトする命令を生成します。default CodeBuilderCodeBuilder.ixor()intsのビット単位XORを計算する命令を生成します。default CodeBuilderCodeBuilder.l2d()default CodeBuilderCodeBuilder.l2f()default CodeBuilderCodeBuilder.l2i()default CodeBuilderCodeBuilder.labelBinding(Label label) ラベルを現在の位置にバインドします。default CodeBuilderCodeBuilder.ladd()2つのlongsを追加する命令を生成します。default CodeBuilderCodeBuilder.laload()long配列からロードする命令を生成します。default CodeBuilderCodeBuilder.land()longsのビット単位ANDを計算する命令を生成します。default CodeBuilderCodeBuilder.lastore()long配列に格納する命令を生成します。default CodeBuilderCodeBuilder.lcmp()longsを比較する命令を生成します。default CodeBuilderCodeBuilder.lconst_0()long定数0をオペランド・スタックにプッシュする命令を生成します。default CodeBuilderCodeBuilder.lconst_1()long定数1をオペランド・スタックにプッシュする命令を生成します。default CodeBuilderCodeBuilder.ldc(LoadableConstantEntry entry) 実行時定数プールからオペランド・スタックに項目をプッシュする命令を生成します。default CodeBuilderCodeBuilder.ldc(ConstantDesc value) 実行時定数プールからオペランド・スタックに項目をプッシュする命令を生成します。default CodeBuilderCodeBuilder.ldiv()longsを分割する命令を生成します。default CodeBuilderCodeBuilder.lineNumber(int line) 現在の位置から始まるソース行番号を宣言します。default CodeBuilderCodeBuilder.lload(int slot) ローカル変数からlongをロードする命令を生成します。default CodeBuilderCodeBuilder.lmul()longsを乗算する命令を生成します。default CodeBuilderCodeBuilder.lneg()longを否定する命令を生成します。default CodeBuilderCodeBuilder.loadConstant(double value) 定数double値をオペランド・スタックにプッシュする命令を生成します。default CodeBuilderCodeBuilder.loadConstant(float value) 定数float値をオペランド・スタックにプッシュする命令を生成します。default CodeBuilderCodeBuilder.loadConstant(int value) 定数int値をオペランド・スタックにプッシュする命令を生成します。default CodeBuilderCodeBuilder.loadConstant(long value) 定数long値をオペランド・スタックにプッシュする命令を生成します。default CodeBuilderCodeBuilder.loadConstant(ConstantDesc value) 定数をオペランド・スタックにプッシュする命令を生成します。default CodeBuilderローカル変数から値をロードする命令を生成します。default CodeBuilderCodeBuilder.localVariable(int slot, Utf8Entry nameEntry, Utf8Entry descriptorEntry, Label startScope, Label endScope) ローカル変数エントリを宣言します。default CodeBuilderCodeBuilder.localVariable(int slot, String name, ClassDesc descriptor, Label startScope, Label endScope) ローカル変数エントリを宣言します。default CodeBuilderCodeBuilder.localVariableType(int slot, Utf8Entry nameEntry, Utf8Entry signatureEntry, Label startScope, Label endScope) ローカル変数タイプ・エントリを宣言します。default CodeBuilderCodeBuilder.localVariableType(int slot, String name, Signature signature, Label startScope, Label endScope) ローカル変数タイプ・エントリを宣言します。default CodeBuilderCodeBuilder.lookupswitch(Label defaultTarget, List<SwitchCase> cases) キーの一致およびジャンプによってジャンプ表にアクセスする命令を生成します。default CodeBuilderCodeBuilder.lor()longsのビット単位ORを計算する命令を生成します。default CodeBuilderCodeBuilder.lrem()longs剰余を計算する命令を生成します。default CodeBuilderCodeBuilder.lreturn()このメソッドからlongを返す命令を生成します。default CodeBuilderCodeBuilder.lshl()longを左にシフトする命令を生成します。default CodeBuilderCodeBuilder.lshr()longを右にシフトする命令を生成します。default CodeBuilderCodeBuilder.lstore(int slot) longをローカル変数に格納する命令を生成します。default CodeBuilderCodeBuilder.lsub()longsを減算する命令を生成します。default CodeBuilderCodeBuilder.lushr()longを論理的にシフトする命令を生成します。default CodeBuilderCodeBuilder.lxor()longsのビット単位XORを計算する命令を生成します。default CodeBuilderCodeBuilder.monitorenter()オブジェクトのモニターを入力する命令を生成します。default CodeBuilderCodeBuilder.monitorexit()オブジェクトのモニターを終了する命令を生成します。default CodeBuilderCodeBuilder.multianewarray(ClassEntry array, int dims) 新しい多次元配列を作成する命令を生成します。default CodeBuilderCodeBuilder.multianewarray(ClassDesc array, int dims) 新しい多次元配列を作成する命令を生成します。default CodeBuilderCodeBuilder.new_(ClassEntry clazz) 新しいオブジェクトを作成する命令を生成します。default CodeBuilder新しいオブジェクトを作成する命令を生成します。default CodeBuilderプリミティブ型の新しい配列を作成する命令を生成します。default CodeBuilderCodeBuilder.nop()何もしない命令を生成します。default CodeBuilderCodeBuilder.pop()上部のオペランド・スタック値をポップする命令を生成します。default CodeBuilderCodeBuilder.pop2()上位1つまたは2つのオペランド・スタック値をポップする命令を生成します。default CodeBuilderCodeBuilder.putfield(FieldRefEntry ref) オブジェクトのフィールドを設定する命令を生成します。default CodeBuilderオブジェクトのフィールドを設定する命令を生成します。default CodeBuilderCodeBuilder.putstatic(FieldRefEntry ref) クラスの静的フィールドを設定する命令を生成します。default CodeBuilderクラスの静的フィールドを設定する命令を生成します。default CodeBuilderCodeBuilder.return_()このメソッドからvoidを返す命令を生成します。default CodeBuilder戻り命令を生成します。default CodeBuilderCodeBuilder.saload()short配列からロードする命令を生成します。default CodeBuilderCodeBuilder.sastore()short配列に格納する命令を生成します。default CodeBuilderCodeBuilder.sipush(int s) default CodeBuilderCodeBuilder.storeLocal(TypeKind tk, int slot) ローカル変数に値を格納する命令を生成します。default CodeBuilderCodeBuilder.swap()上位2つのオペランド・スタック値をスワップする命令を生成します。default CodeBuilderCodeBuilder.tableswitch(int low, int high, Label defaultTarget, List<SwitchCase> cases) インデックスでジャンプ表にアクセスし、ジャンプする命令を生成します。default CodeBuilderCodeBuilder.tableswitch(Label defaultTarget, List<SwitchCase> cases) インデックスでジャンプ表にアクセスし、ジャンプする命令を生成します。default CodeBuilderCodeBuilder.transforming(CodeTransform transform, Consumer<CodeBuilder> handler) ハンドラによって構築されたコードに変換を適用し、結果をこのビルダーに指示します。default CodeBuilderCodeBuilder.trying(Consumer<CodeBuilder.BlockCodeBuilder> tryHandler, Consumer<CodeBuilder.CatchBuilder> catchesHandler) 1つのtryブロックと0個以上のcatchブロックで構成される"try-catch"ブロックを追加します。型CodeBuilderの型引数を持つjava.lang.classfileのメソッド・パラメータ修飾子と型メソッド説明static CodeTransformCodeTransform.endHandler(Consumer<CodeBuilder> finisher) 各要素をビルダーに渡すコード変換を作成し、変換の完了時に指定された関数をコールします。default CodeBuilderCodeBuilder.transforming(CodeTransform transform, Consumer<CodeBuilder> handler) ハンドラによって構築されたコードに変換を適用し、結果をこのビルダーに指示します。MethodBuilder.withCode(Consumer<? super CodeBuilder> code) このメソッドのメソッド本文を作成します。default ClassBuilderClassBuilder.withMethodBody(Utf8Entry name, Utf8Entry descriptor, int methodFlags, Consumer<? super CodeBuilder> handler) アクセス・フラグとCodeModelのみを持つメソッドを追加します。default ClassBuilderClassBuilder.withMethodBody(String name, MethodTypeDesc descriptor, int methodFlags, Consumer<? super CodeBuilder> handler) アクセス・フラグとCodeModelのみを持つメソッドを追加します。