Spec-Zone.ru › OpenJDK 27

Интерфейс CodeBuilder.BlockCodeBuilder

Все суперинтерфейсы:
ClassFileBuilder<CodeElement, CodeBuilder>, CodeBuilder, Consumer<CodeElement>
Охватывающий интерфейс:
CodeBuilder
public static sealed interface CodeBuilder.BlockCodeBuilder extends CodeBuilder
Построитель блоков кода. Его CodeBuilder.startLabel() и CodeBuilder.endLabel() охватывают не всё тело метода, а только область от начала до конца блока.

Предполагается, что точка, в которой блок кода сливается с родительским блоком, обозначенная меткой breakLabel(), достижима либо из этого блока, либо из родительского блока. Построенный код может быть некорректным, если в этой точке нет исполняемого кода.

Начиная с:
24

Краткое описание вложенных классов

Вложенные классы и интерфейсы, объявленные в интерфейсе CodeBuilder

CodeBuilder.BlockCodeBuilder, CodeBuilder.CatchBuilder
Модификатор и тип Интерфейс Описание
static interface  CodeBuilder.BlockCodeBuilder
Построитель блоков кода.
static interface  CodeBuilder.CatchBuilder
Построитель для добавления блоков catch.

Краткое описание методов

Модификатор и тип Метод Описание
Label breakLabel()
Возвращает метку, указывающую место, в котором управление передаётся обратно родительскому блоку.

Методы, объявленные в интерфейсе ClassFileBuilder

accept, constantPool, transform, with
Модификатор и тип Метод Описание
default void accept(CodeElement e)
Включает элемент-член в создаваемую структуру.
ConstantPoolBuilder constantPool()
Возвращает построитель пула констант, связанный с этим построителем.
default CodeBuilder transform(CompoundElement<CodeElement> model, ClassFileTransform<?, CodeElement, CodeBuilder> transform)
Применяет преобразование к составной структуре, направляя результаты в этот построитель.
CodeBuilder with(CodeElement e)
Включает элемент-член в создаваемую структуру.

Методы, объявленные в интерфейсе CodeBuilder

aaload, aastore, aconst_null, allocateLocal, aload, anewarray, anewarray, areturn, arraylength, arrayLoad, arrayStore, astore, athrow, baload, bastore, bipush, block, branch, caload, castore, characterRange, checkcast, checkcast, conversion, d2f, d2i, d2l, dadd, daload, dastore, dcmpg, dcmpl, dconst_0, dconst_1, ddiv, dload, dmul, dneg, drem, dreturn, dstore, dsub, dup, dup_x1, dup_x2, dup2, dup2_x1, dup2_x2, endLabel, exceptionCatch, exceptionCatch, exceptionCatch, exceptionCatchAll, f2d, f2i, f2l, fadd, faload, fastore, fcmpg, fcmpl, fconst_0, fconst_1, fconst_2, fdiv, fieldAccess, fieldAccess, fload, fmul, fneg, frem, freturn, fstore, fsub, getfield, getfield, getstatic, getstatic, goto_, goto_w, i2b, i2c, i2d, i2f, i2l, i2s, iadd, iaload, iand, iastore, iconst_0, iconst_1, iconst_2, iconst_3, iconst_4, iconst_5, iconst_m1, idiv, if_acmpeq, if_acmpne, if_icmpeq, if_icmpge, if_icmpgt, if_icmple, if_icmplt, if_icmpne, ifeq, ifge, ifgt, ifle, iflt, ifne, ifnonnull, ifnull, ifThen, ifThen, ifThenElse, ifThenElse, iinc, iload, imul, ineg, instanceOf, instanceOf, invoke, invoke, invokedynamic, invokedynamic, invokeinterface, invokeinterface, invokespecial, invokespecial, invokespecial, invokespecial, invokestatic, invokestatic, invokestatic, invokestatic, invokevirtual, invokevirtual, ior, irem, ireturn, ishl, ishr, istore, isub, iushr, ixor, l2d, l2f, l2i, labelBinding, ladd, laload, land, lastore, lcmp, lconst_0, lconst_1, ldc, ldc, ldiv, lineNumber, lload, lmul, lneg, loadConstant, loadConstant, loadConstant, loadConstant, loadConstant, loadLocal, localVariable, localVariable, localVariableType, localVariableType, lookupswitch, lor, lrem, lreturn, lshl, lshr, lstore, lsub, lushr, lxor, monitorenter, monitorexit, multianewarray, multianewarray, new_, new_, newarray, newBoundLabel, newLabel, nop, parameterSlot, pop, pop2, putfield, putfield, putstatic, putstatic, receiverSlot, return_, return_, saload, sastore, sipush, startLabel, storeLocal, swap, tableswitch, tableswitch, transforming, trying
Модификатор и тип Метод Описание
default CodeBuilder aaload()
Генерирует инструкцию для загрузки из массива reference.
default CodeBuilder aastore()
Генерирует инструкцию для сохранения в массив reference.
default CodeBuilder aconst_null()
Генерирует инструкцию, помещающую нулевой объект reference в стек операндов.
int allocateLocal(TypeKind typeKind)
Возвращает слот локальной переменной для новой локальной переменной.
default CodeBuilder aload(int slot)
Генерирует инструкцию для загрузки reference из локальной переменной.
default CodeBuilder anewarray(ClassEntry classEntry)
Генерирует инструкцию для создания нового массива reference.
default CodeBuilder anewarray(ClassDesc className)
Генерирует инструкцию для создания нового массива reference.
default CodeBuilder areturn()
Генерирует инструкцию для возврата reference из этого метода.
default CodeBuilder arraylength()
Генерирует инструкцию для получения длины массива.
default CodeBuilder arrayLoad(TypeKind tk)
Генерирует инструкцию для загрузки из массива.
default CodeBuilder arrayStore(TypeKind tk)
Генерирует инструкцию для сохранения в массив.
default CodeBuilder astore(int slot)
Генерирует инструкцию для сохранения reference в локальную переменную.
default CodeBuilder athrow()
Генерирует инструкцию для выбрасывания исключения или ошибки.
default CodeBuilder baload()
Генерирует инструкцию для загрузки из массива byte или boolean.
default CodeBuilder bastore()
Генерирует инструкцию для сохранения в массив byte или boolean.
default CodeBuilder bipush(int b)
Генерирует инструкцию, помещающую int в диапазоне byte ([-128, 127]) в стек операндов.
default CodeBuilder block(Consumer<CodeBuilder.BlockCodeBuilder> handler)
Добавляет лексический блок в создаваемый метод.
default CodeBuilder branch(Opcode op, Label target)
Генерирует инструкцию перехода.
default CodeBuilder caload()
Генерирует инструкцию для загрузки из массива char.
default CodeBuilder castore()
Генерирует инструкцию для сохранения в массив char.
default CodeBuilder characterRange(Label startScope, Label endScope, int characterRangeStart, int characterRangeEnd, int flags)
Объявляет запись диапазона символов.
default CodeBuilder checkcast(ClassEntry type)
Генерирует инструкцию для проверки принадлежности объекта к указанному типу; если проверка не проходит, выбрасывается ClassCastException.
default CodeBuilder checkcast(ClassDesc type)
Генерирует инструкцию для проверки принадлежности объекта к указанному типу; если проверка не проходит, выбрасывается ClassCastException.
default CodeBuilder conversion(TypeKind fromType, TypeKind toType)
Генерирует инструкции для преобразования fromType в toType.
default CodeBuilder d2f()
Генерирует инструкцию для преобразования double в float.
default CodeBuilder d2i()
Генерирует инструкцию для преобразования double в int.
default CodeBuilder d2l()
Генерирует инструкцию для преобразования double в long.
default CodeBuilder dadd()
Генерирует инструкцию для сложения двух значений doubles.
default CodeBuilder daload()
Генерирует инструкцию для загрузки из массива double.
default CodeBuilder dastore()
Генерирует инструкцию для сохранения в массив double.
default CodeBuilder dcmpg()
Генерирует инструкцию для сравнения двух значений doubles; если хотя бы один операнд является NaN, результатом будет 1.
default CodeBuilder dcmpl()
Генерирует инструкцию для сравнения двух значений doubles; если хотя бы один операнд является NaN, результатом будет -1.
default CodeBuilder dconst_0()
Генерирует инструкцию, помещающую константу 0 типа double в стек операндов.
default CodeBuilder dconst_1()
Генерирует инструкцию, помещающую константу 1 типа double в стек операндов.
default CodeBuilder ddiv()
Генерирует инструкцию для деления значений doubles.
default CodeBuilder dload(int slot)
Генерирует инструкцию для загрузки значения double из локальной переменной.
default CodeBuilder dmul()
Генерирует инструкцию для умножения значений doubles.
default CodeBuilder dneg()
Генерирует инструкцию для смены знака значения double.
default CodeBuilder drem()
Генерирует инструкцию для вычисления остатка от деления double.
default CodeBuilder dreturn()
Генерирует инструкцию для возврата значения double из этого метода.
default CodeBuilder dstore(int slot)
Генерирует инструкцию для сохранения значения double в локальную переменную.
default CodeBuilder dsub()
Генерирует инструкцию для вычитания значений doubles.
default CodeBuilder dup()
Генерирует инструкцию для дублирования верхнего значения стека операндов.
default CodeBuilder dup_x1()
Генерирует инструкцию для дублирования верхнего значения стека операндов и вставки его на две позиции ниже.
default CodeBuilder dup_x2()
Генерирует инструкцию для дублирования верхнего значения стека операндов и вставки его на две или три позиции ниже.
default CodeBuilder dup2()
Генерирует инструкцию для дублирования одного или двух верхних значений стека операндов.
default CodeBuilder dup2_x1()
Генерирует инструкцию для дублирования одного или двух верхних значений стека операндов и вставки их на две или три позиции ниже.
default CodeBuilder dup2_x2()
Генерирует инструкцию для дублирования одного или двух верхних значений стека операндов и вставки их на две, три или четыре позиции ниже.
Label endLabel()
Возвращает метку, связанную с концом текущего блока.
default CodeBuilder exceptionCatch(Label start, Label end, Label handler, ClassEntry catchType)
Объявляет запись таблицы исключений.
default CodeBuilder exceptionCatch(Label start, Label end, Label handler, ClassDesc catchType)
Объявляет запись таблицы исключений.
default CodeBuilder exceptionCatch(Label start, Label end, Label handler, Optional<ClassEntry> catchType)
Объявляет запись таблицы исключений.
default CodeBuilder exceptionCatchAll(Label start, Label end, Label handler)
Объявляет запись таблицы исключений, перехватывающую все исключения и ошибки.
default CodeBuilder f2d()
Генерирует инструкцию для преобразования float в double.
default CodeBuilder f2i()
Генерирует инструкцию для преобразования float в int.
default CodeBuilder f2l()
Генерирует инструкцию для преобразования float в long.
default CodeBuilder fadd()
Генерирует инструкцию для сложения двух значений floats.
default CodeBuilder faload()
Генерирует инструкцию для загрузки из массива float.
default CodeBuilder fastore()
Генерирует инструкцию для сохранения в массив float.
default CodeBuilder fcmpg()
Генерирует инструкцию для сравнения значений floats; если хотя бы один операнд является NaN, результатом будет 1.
default CodeBuilder fcmpl()
Генерирует инструкцию для сравнения значений floats; если хотя бы один операнд является NaN, результатом будет -1.
default CodeBuilder fconst_0()
Генерирует инструкцию, помещающую константу 0 типа float в стек операндов.
default CodeBuilder fconst_1()
Генерирует инструкцию, помещающую константу 1 типа float в стек операндов.
default CodeBuilder fconst_2()
Генерирует инструкцию, помещающую константу 2 типа float в стек операндов.
default CodeBuilder fdiv()
Генерирует инструкцию для деления значений floats.
default CodeBuilder fieldAccess(Opcode opcode, FieldRefEntry ref)
Генерирует инструкцию для доступа к полю.
default CodeBuilder fieldAccess(Opcode opcode, ClassDesc owner, String name, ClassDesc type)
Генерирует инструкцию для доступа к полю.
default CodeBuilder fload(int slot)
Генерирует инструкцию для загрузки значения float из локальной переменной.
default CodeBuilder fmul()
Генерирует инструкцию для умножения значений floats.
default CodeBuilder fneg()
Генерирует инструкцию для смены знака значения float.
default CodeBuilder frem()
Генерирует инструкцию для вычисления остатка от деления floats.
default CodeBuilder freturn()
Генерирует инструкцию для возврата значения float из этого метода.
default CodeBuilder fstore(int slot)
Генерирует инструкцию для сохранения значения float в локальную переменную.
default CodeBuilder fsub()
Генерирует инструкцию для вычитания значений floats.
default CodeBuilder getfield(FieldRefEntry ref)
Генерирует инструкцию для получения поля объекта.
default CodeBuilder getfield(ClassDesc owner, String name, ClassDesc type)
Генерирует инструкцию для получения поля объекта.
default CodeBuilder getstatic(FieldRefEntry ref)
Генерирует инструкцию для получения статического поля класса или интерфейса.
default CodeBuilder getstatic(ClassDesc owner, String name, ClassDesc type)
Генерирует инструкцию для получения статического поля класса или интерфейса.
default CodeBuilder goto_(Label target)
Генерирует инструкцию для безусловного перехода.
default CodeBuilder goto_w(Label target)
Генерирует инструкцию для безусловного перехода с широким индексом.
default CodeBuilder i2b()
Генерирует инструкцию для усечения int до диапазона byte с последующим расширением знака.
default CodeBuilder i2c()
Генерирует инструкцию для усечения int до диапазона char с последующим расширением нулями.
default CodeBuilder i2d()
Генерирует инструкцию для преобразования int в double.
default CodeBuilder i2f()
Генерирует инструкцию для преобразования int в float.
default CodeBuilder i2l()
Генерирует инструкцию для преобразования int в long.
default CodeBuilder i2s()
Генерирует инструкцию для усечения int до диапазона short с последующим расширением знака.
default CodeBuilder iadd()
Генерирует инструкцию для сложения двух значений ints.
default CodeBuilder iaload()
Генерирует инструкцию для загрузки из массива int.
default CodeBuilder iand()
Генерирует инструкцию для побитового И над значениями ints; также используется для логического И над значениями boolean.
default CodeBuilder iastore()
Генерирует инструкцию для сохранения в массив int.
default CodeBuilder iconst_0()
Генерирует инструкцию, помещающую константу 0 типа int в стек операндов.
default CodeBuilder iconst_1()
Генерирует инструкцию, помещающую константу 1 типа int в стек операндов.
default CodeBuilder iconst_2()
Генерирует инструкцию, помещающую константу 2 типа int в стек операндов.
default CodeBuilder iconst_3()
Генерирует инструкцию, помещающую константу 3 типа int в стек операндов.
default CodeBuilder iconst_4()
Генерирует инструкцию, помещающую константу 4 типа int в стек операндов.
default CodeBuilder iconst_5()
Генерирует инструкцию, помещающую константу 5 типа int в стек операндов.
default CodeBuilder iconst_m1()
Генерирует инструкцию, помещающую константу -1 типа int в стек операндов.
default CodeBuilder idiv()
Генерирует инструкцию для деления значений ints.
default CodeBuilder if_acmpeq(Label target)
Генерирует инструкцию перехода, если сравнение reference operand1 == operand2 выполняется.
default CodeBuilder if_acmpne(Label target)
Генерирует инструкцию перехода, если сравнение reference operand1 != operand2 выполняется.
default CodeBuilder if_icmpeq(Label target)
Генерирует инструкцию перехода, если сравнение int operand1 == operand2 выполняется.
default CodeBuilder if_icmpge(Label target)
Генерирует инструкцию перехода, если сравнение int operand1 >= operand2 выполняется.
default CodeBuilder if_icmpgt(Label target)
Генерирует инструкцию перехода, если сравнение int operand1 > operand2 выполняется.
default CodeBuilder if_icmple(Label target)
Генерирует инструкцию перехода, если сравнение int operand1 <= operand2 выполняется.
default CodeBuilder if_icmplt(Label target)
Генерирует инструкцию перехода, если сравнение int operand1 < operand2 выполняется.
default CodeBuilder if_icmpne(Label target)
Генерирует инструкцию перехода, если сравнение int operand1 != operand2 выполняется.
default CodeBuilder ifeq(Label target)
Генерирует инструкцию перехода, если сравнение int с нулём == 0 выполняется.
default CodeBuilder ifge(Label target)
Генерирует инструкцию перехода, если сравнение int с нулём >= 0 выполняется.
default CodeBuilder ifgt(Label target)
Генерирует инструкцию перехода, если сравнение int с нулём > 0 выполняется.
default CodeBuilder ifle(Label target)
Генерирует инструкцию перехода, если сравнение int с нулём <= 0 выполняется.
default CodeBuilder iflt(Label target)
Генерирует инструкцию перехода, если сравнение int с нулём < 0 выполняется.
default CodeBuilder ifne(Label target)
Генерирует инструкцию перехода, если сравнение int с нулём != 0 выполняется.
default CodeBuilder ifnonnull(Label target)
Генерирует инструкцию перехода, если reference не является null.
default CodeBuilder ifnull(Label target)
Генерирует инструкцию перехода, если reference является null.
default CodeBuilder ifThen(Opcode opcode, Consumer<CodeBuilder.BlockCodeBuilder> thenHandler)
Добавляет блок «если — то», условие которого определяется значением или значениями на вершине стека операндов согласно заданному коду операции.
default CodeBuilder ifThen(Consumer<CodeBuilder.BlockCodeBuilder> thenHandler)
Добавляет блок «если — то», условие которого определяется значением boolean на вершине стека операндов.
default CodeBuilder ifThenElse(Opcode opcode, Consumer<CodeBuilder.BlockCodeBuilder> thenHandler, Consumer<CodeBuilder.BlockCodeBuilder> elseHandler)
Добавляет блок «если — то — иначе», условие которого определяется значением или значениями на вершине стека операндов согласно заданному коду операции.
default CodeBuilder ifThenElse(Consumer<CodeBuilder.BlockCodeBuilder> thenHandler, Consumer<CodeBuilder.BlockCodeBuilder> elseHandler)
Добавляет блок «если — то — иначе», условие которого определяется значением boolean на вершине стека операндов.
default CodeBuilder iinc(int slot, int val)
Генерирует инструкцию для увеличения значения локальной переменной int на заданную константу.
default CodeBuilder iload(int slot)
Генерирует инструкцию для загрузки значения int из локальной переменной.
default CodeBuilder imul()
Генерирует инструкцию для умножения значений ints.
default CodeBuilder ineg()
Генерирует инструкцию для смены знака значения int.
default CodeBuilder instanceOf(ClassEntry target)
Генерирует инструкцию для проверки принадлежности объекта к указанному типу; результат типа boolean помещается в стек операндов.
default CodeBuilder instanceOf(ClassDesc target)
Генерирует инструкцию для проверки принадлежности объекта к указанному типу; результат типа boolean помещается в стек операндов.
default CodeBuilder invoke(Opcode opcode, MemberRefEntry ref)
Генерирует инструкцию для вызова метода.
default CodeBuilder invoke(Opcode opcode, ClassDesc owner, String name, MethodTypeDesc desc, boolean isInterface)
Генерирует инструкцию для вызова метода.
default CodeBuilder invokedynamic(InvokeDynamicEntry ref)
Генерирует инструкцию для вызова динамически вычисляемой точки вызова.
default CodeBuilder invokedynamic(DynamicCallSiteDesc ref)
Генерирует инструкцию для вызова динамически вычисляемой точки вызова.
default CodeBuilder invokeinterface(InterfaceMethodRefEntry ref)
Генерирует инструкцию для вызова метода интерфейса.
default CodeBuilder invokeinterface(ClassDesc owner, String name, MethodTypeDesc type)
Генерирует инструкцию для вызова метода интерфейса.
default CodeBuilder invokespecial(InterfaceMethodRefEntry ref)
Генерирует инструкцию для вызова метода экземпляра интерфейса; прямого вызова методов текущего класса и его суперклассов.
default CodeBuilder invokespecial(MethodRefEntry ref)
Генерирует инструкцию для вызова метода экземпляра класса; прямого вызова методов инициализации экземпляра, а также методов текущего класса и его суперклассов.
default CodeBuilder invokespecial(ClassDesc owner, String name, MethodTypeDesc type)
Генерирует инструкцию для вызова метода экземпляра класса; прямого вызова методов инициализации экземпляра, а также методов текущего класса и его суперклассов.
default CodeBuilder invokespecial(ClassDesc owner, String name, MethodTypeDesc type, boolean isInterface)
Генерирует инструкцию для вызова метода экземпляра; прямого вызова методов инициализации экземпляра, а также методов текущего класса и его суперклассов.
default CodeBuilder invokestatic(InterfaceMethodRefEntry ref)
Генерирует инструкцию для вызова статического метода интерфейса.
default CodeBuilder invokestatic(MethodRefEntry ref)
Генерирует инструкцию для вызова метода класса (статического) класса.
default CodeBuilder invokestatic(ClassDesc owner, String name, MethodTypeDesc type)
Генерирует инструкцию для вызова метода класса (статического) класса.
default CodeBuilder invokestatic(ClassDesc owner, String name, MethodTypeDesc type, boolean isInterface)
Генерирует инструкцию для вызова статического метода класса.
default CodeBuilder invokevirtual(MethodRefEntry ref)
Генерирует инструкцию для вызова метода экземпляра с диспетчеризацией по классу.
default CodeBuilder invokevirtual(ClassDesc owner, String name, MethodTypeDesc type)
Генерирует инструкцию для вызова метода экземпляра с диспетчеризацией по классу.
default CodeBuilder ior()
Генерирует инструкцию для вычисления побитового ИЛИ для ints; также используется для операции ИЛИ над boolean.
default CodeBuilder irem()
Генерирует инструкцию для вычисления остатка от деления ints.
default CodeBuilder ireturn()
Генерирует инструкцию для возврата значения int из этого метода.
default CodeBuilder ishl()
Генерирует инструкцию для сдвига int влево.
default CodeBuilder ishr()
Генерирует инструкцию для сдвига int вправо.
default CodeBuilder istore(int slot)
Генерирует инструкцию для сохранения int в локальную переменную.
default CodeBuilder isub()
Генерирует инструкцию для вычитания ints.
default CodeBuilder iushr()
Генерирует инструкцию для логического сдвига int вправо.
default CodeBuilder ixor()
Генерирует инструкцию для вычисления побитового исключающего ИЛИ для ints.
default CodeBuilder l2d()
Генерирует инструкцию для преобразования long в double.
default CodeBuilder l2f()
Генерирует инструкцию для преобразования long в float.
default CodeBuilder l2i()
Генерирует инструкцию для преобразования long в int.
default CodeBuilder labelBinding(Label label)
Привязывает метку к текущей позиции.
default CodeBuilder ladd()
Генерирует инструкцию для сложения двух значений longs.
default CodeBuilder laload()
Генерирует инструкцию для загрузки из массива long.
default CodeBuilder land()
Генерирует инструкцию для вычисления побитового И для longs.
default CodeBuilder lastore()
Генерирует инструкцию для сохранения значения в массив long.
default CodeBuilder lcmp()
Генерирует инструкцию для сравнения значений longs.
default CodeBuilder lconst_0()
Генерирует инструкцию, помещающую константу 0 типа long в стек операндов.
default CodeBuilder lconst_1()
Генерирует инструкцию, помещающую константу 1 типа long в стек операндов.
default CodeBuilder ldc(LoadableConstantEntry entry)
Генерирует инструкцию, помещающую элемент из пула констант времени выполнения в стек операндов.
default CodeBuilder ldc(ConstantDesc value)
Генерирует инструкцию, помещающую элемент из пула констант времени выполнения в стек операндов.
default CodeBuilder ldiv()
Генерирует инструкцию для деления longs.
default CodeBuilder lineNumber(int line)
Объявляет номер исходной строки, начиная с текущей позиции.
default CodeBuilder lload(int slot)
Генерирует инструкцию для загрузки значения long из локальной переменной.
default CodeBuilder lmul()
Генерирует инструкцию для умножения longs.
default CodeBuilder lneg()
Генерирует инструкцию для смены знака значения long.
default CodeBuilder loadConstant(double value)
Генерирует инструкцию, помещающую константное значение типа double в стек операндов.
default CodeBuilder loadConstant(float value)
Генерирует инструкцию, помещающую константное значение типа float в стек операндов.
default CodeBuilder loadConstant(int value)
Генерирует инструкцию, помещающую константное значение типа int в стек операндов.
default CodeBuilder loadConstant(long value)
Генерирует инструкцию, помещающую константное значение типа long в стек операндов.
default CodeBuilder loadConstant(ConstantDesc value)
Генерирует инструкцию, помещающую константу в стек операндов.
default CodeBuilder loadLocal(TypeKind tk, int slot)
Генерирует инструкцию для загрузки значения из локальной переменной.
default CodeBuilder localVariable(int slot, Utf8Entry nameEntry, Utf8Entry descriptorEntry, Label startScope, Label endScope)
Объявляет запись о локальной переменной.
default CodeBuilder localVariable(int slot, String name, ClassDesc descriptor, Label startScope, Label endScope)
Объявляет запись о локальной переменной.
default CodeBuilder localVariableType(int slot, Utf8Entry nameEntry, Utf8Entry signatureEntry, Label startScope, Label endScope)
Объявляет запись о типе локальной переменной.
default CodeBuilder localVariableType(int slot, String name, Signature signature, Label startScope, Label endScope)
Объявляет запись о типе локальной переменной.
default CodeBuilder lookupswitch(Label defaultTarget, List<SwitchCase> cases)
Генерирует инструкцию для обращения к таблице переходов по совпадению ключа и выполнения перехода.
default CodeBuilder lor()
Генерирует инструкцию для вычисления побитового ИЛИ для longs.
default CodeBuilder lrem()
Генерирует инструкцию для вычисления остатка от деления longs.
default CodeBuilder lreturn()
Генерирует инструкцию для возврата значения long из этого метода.
default CodeBuilder lshl()
Генерирует инструкцию для сдвига значения long влево.
default CodeBuilder lshr()
Генерирует инструкцию для сдвига значения long вправо.
default CodeBuilder lstore(int slot)
Генерирует инструкцию для сохранения значения long в локальную переменную.
default CodeBuilder lsub()
Генерирует инструкцию для вычитания longs.
default CodeBuilder lushr()
Генерирует инструкцию для логического сдвига значения long вправо.
default CodeBuilder lxor()
Генерирует инструкцию для вычисления побитового исключающего ИЛИ для longs.
default CodeBuilder monitorenter()
Генерирует инструкцию для входа в монитор объекта.
default CodeBuilder monitorexit()
Генерирует инструкцию для выхода из монитора объекта.
default CodeBuilder multianewarray(ClassEntry array, int dims)
Генерирует инструкцию для создания нового многомерного массива.
default CodeBuilder multianewarray(ClassDesc array, int dims)
Генерирует инструкцию для создания нового многомерного массива.
default CodeBuilder new_(ClassEntry clazz)
Генерирует инструкцию для создания нового объекта.
default CodeBuilder new_(ClassDesc clazz)
Генерирует инструкцию для создания нового объекта.
default CodeBuilder newarray(TypeKind typeKind)
Генерирует инструкцию для создания нового массива примитивного типа.
default Label newBoundLabel()
Создает новую метку, привязанную к текущей позиции.
Label newLabel()
Возвращает новую непривязанную метку.
default CodeBuilder nop()
Генерирует инструкцию, не выполняющую никаких действий.
int parameterSlot(int paramNo)
Возвращает слот локальной переменной, связанный с указанным параметром.
default CodeBuilder pop()
Генерирует инструкцию для извлечения верхнего значения из стека операндов.
default CodeBuilder pop2()
Генерирует инструкцию для извлечения одного или двух верхних значений из стека операндов.
default CodeBuilder putfield(FieldRefEntry ref)
Генерирует инструкцию для установки поля объекта.
default CodeBuilder putfield(ClassDesc owner, String name, ClassDesc type)
Генерирует инструкцию для установки поля объекта.
default CodeBuilder putstatic(FieldRefEntry ref)
Генерирует инструкцию для установки статического поля класса.
default CodeBuilder putstatic(ClassDesc owner, String name, ClassDesc type)
Генерирует инструкцию для установки статического поля класса.
int receiverSlot()
Возвращает слот локальной переменной, связанный с получателем.
default CodeBuilder return_()
Генерирует инструкцию для возврата значения void из этого метода.
default CodeBuilder return_(TypeKind tk)
Генерирует инструкцию возврата.
default CodeBuilder saload()
Генерирует инструкцию для загрузки из массива short.
default CodeBuilder sastore()
Генерирует инструкцию для сохранения значения в массив short.
default CodeBuilder sipush(int s)
Генерирует инструкцию, помещающую значение int в диапазоне от short до [-32768, 32767] в стек операндов.
Label startLabel()
Возвращает метку, связанную с началом текущего блока.
default CodeBuilder storeLocal(TypeKind tk, int slot)
Генерирует инструкцию для сохранения значения в локальную переменную.
default CodeBuilder swap()
Генерирует инструкцию для обмена местами двух верхних значений в стеке операндов.
default CodeBuilder tableswitch(int low, int high, Label defaultTarget, List<SwitchCase> cases)
Генерирует инструкцию для обращения к таблице переходов по индексу и выполнения перехода.
default CodeBuilder tableswitch(Label defaultTarget, List<SwitchCase> cases)
Генерирует инструкцию для обращения к таблице переходов по индексу и выполнения перехода.
default CodeBuilder transforming(CodeTransform transform, Consumer<CodeBuilder> handler)
Применяет преобразование к коду, созданному обработчиком, и направляет результаты в этот построитель.
default CodeBuilder trying(Consumer<CodeBuilder.BlockCodeBuilder> tryHandler, Consumer<CodeBuilder.CatchBuilder> catchesHandler)
Добавляет блок «try-catch», состоящий из одного блока try и нуля или более блоков catch.

Методы, объявленные в интерфейсе Consumer

andThen
Модификатор и тип Метод Описание
default Consumer<CodeElement> andThen(Consumer<? super CodeElement> after)
Возвращает составной Consumer, который последовательно выполняет сначала эту операцию, а затем операцию after.

Подробное описание методов

breakLabel

Label breakLabel()
Возвращает метку, указывающую место, куда передается управление при возврате в родительский блок. Переход к этой метке «выходит» из текущего блока.

Если последняя инструкция в этом блоке не ведет к метке выхода, Class-File API может добавить инструкции, обеспечивающие переход к метке «break» в сформированном блоке.

Возвращает:
метку, указывающую место, куда передается управление при возврате в родительский блок

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2026, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API