Top Fields Constructors Methods
jdk.internal.classfile.impl

public abstract sealed Class NonterminalCodeBuilder

extends Object
implements CodeBuilder
permits ChainedCodeBuilder, BlockCodeBuilderImpl
Class Inheritance
All Implemented Interfaces
java.lang.classfile.CodeBuilder, java.lang.classfile.ClassFileBuilder, java.util.function.Consumer
Known Direct Subclasses
jdk.internal.classfile.impl.BlockCodeBuilderImpl, jdk.internal.classfile.impl.ChainedCodeBuilder
Imports
java.util.Optional, java.lang.classfile.CodeBuilder, .CodeModel, .Label, java.lang.classfile.constantpool.ConstantPoolBuilder

Field Summary

Modifier and TypeField and Description
protected final CodeBuilder
protected final TerminalCodeBuilder

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public ConstantPoolBuilder
constantPool()

Implements java.lang.classfile.ClassFileBuilder.constantPool.

Returns the constant pool builder associated with this builder.

public Label
newLabel()

Implements java.lang.classfile.CodeBuilder.newLabel.

Returns a fresh unbound label.

public Optional<CodeModel>
original()

Implements java.lang.classfile.CodeBuilder.original.

Returns the CodeModel representing the method body being transformed, if this code builder represents the transformation of some CodeModel.

public int
parameterSlot(int
the index of the parameter
paramNo
)

Implements java.lang.classfile.CodeBuilder.parameterSlot.

Returns the local variable slot associated with the specified parameter.

public int
receiverSlot()

Implements java.lang.classfile.CodeBuilder.receiverSlot.

Returns the local variable slot associated with the receiver.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

parentback to summary
protected final CodeBuilder parent
terminalback to summary
protected final TerminalCodeBuilder terminal

Constructor Detail

NonterminalCodeBuilderback to summary
public NonterminalCodeBuilder(CodeBuilder parent)

Method Detail

constantPoolback to summary
public ConstantPoolBuilder constantPool()

Implements java.lang.classfile.ClassFileBuilder.constantPool.

Doc from java.lang.classfile.ClassFileBuilder.constantPool.

Returns the constant pool builder associated with this builder.

Returns:ConstantPoolBuilder

the constant pool builder associated with this builder

Annotations
@Override
newLabelback to summary
public Label newLabel()

Implements java.lang.classfile.CodeBuilder.newLabel.

Doc from java.lang.classfile.CodeBuilder.newLabel.

Returns a fresh unbound label.

Returns:Label

a fresh unbound label

Annotations
@Override
originalback to summary
public Optional<CodeModel> original()

Implements java.lang.classfile.CodeBuilder.original.

Doc from java.lang.classfile.CodeBuilder.original.

Returns the CodeModel representing the method body being transformed, if this code builder represents the transformation of some CodeModel.

Returns:Optional<CodeModel>

the CodeModel representing the method body being transformed, if this code builder represents the transformation of some CodeModel

Annotations
@Override
parameterSlotback to summary
public int parameterSlot(int paramNo)

Implements java.lang.classfile.CodeBuilder.parameterSlot.

Doc from java.lang.classfile.CodeBuilder.parameterSlot.

Returns the local variable slot associated with the specified parameter. . The returned value is adjusted for the receiver slot (if the method is an instance method) and for the requirement that long and double values require two slots.

Parameters
paramNo:int

the index of the parameter

Returns:int

the local variable slot associated with the specified parameter

Annotations
@Override
receiverSlotback to summary
public int receiverSlot()

Implements java.lang.classfile.CodeBuilder.receiverSlot.

Doc from java.lang.classfile.CodeBuilder.receiverSlot.

Returns the local variable slot associated with the receiver. .

Returns:int

the local variable slot associated with the receiver

Annotations
@Override