Top Inners Constructors Methods
jdk.internal.classfile.impl

public abstract sealed Class AbstractPseudoInstruction

extends AbstractElement
implements PseudoInstruction
permits ExceptionCatchImpl, UnboundCharacterRange, AbstractLocalPseudo
Class Inheritance
All Implemented Interfaces
java.lang.classfile.PseudoInstruction, java.lang.classfile.CodeElement, java.lang.classfile.ClassFileElement
Known Direct Subclasses
jdk.internal.classfile.impl.AbstractPseudoInstruction.ExceptionCatchImpl, jdk.internal.classfile.impl.AbstractPseudoInstruction.UnboundCharacterRange, jdk.internal.classfile.impl.AbstractPseudoInstruction.AbstractLocalPseudo
Imports
java.util.Optional, java.lang.classfile.BufWriter, .Label, .PseudoInstruction, java.lang.classfile.constantpool.ClassEntry, .Utf8Entry, java.lang.classfile.instruction.CharacterRange, .ExceptionCatch, .LocalVariable, .LocalVariableType

Nested and Inner Type Summary

Modifier and TypeClass and Description
private abstract static class
public static class
public static class
public static class
public static class

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public abstract void
Inherited from jdk.internal.classfile.impl.AbstractElement:
writeTowriteTowriteTo

Constructor Detail

AbstractPseudoInstructionback to summary
public AbstractPseudoInstruction()

Method Detail

writeToback to summary
public abstract void writeTo(DirectCodeBuilder writer)

Overrides jdk.internal.classfile.impl.AbstractElement.writeTo.

Annotations
@Override
jdk.internal.classfile.impl back to summary

private abstract sealed Class AbstractPseudoInstruction.AbstractLocalPseudo

extends AbstractPseudoInstruction
permits UnboundLocalVariable, UnboundLocalVariableType
Class Inheritance
Known Direct Subclasses
jdk.internal.classfile.impl.AbstractPseudoInstruction.UnboundLocalVariable, jdk.internal.classfile.impl.AbstractPseudoInstruction.UnboundLocalVariableType

Field Summary

Modifier and TypeField and Description
protected final Utf8Entry
protected final Label
protected final Utf8Entry
protected final int
protected final Label

Constructor Summary

AccessConstructor and Description
public
AbstractLocalPseudo(int slot, Utf8Entry name, Utf8Entry descriptor, Label startScope, Label endScope)

Method Summary

Modifier and TypeMethod and Description
public Label
public Utf8Entry
name()

public String
public int
slot()

public Label
public boolean
Inherited from jdk.internal.classfile.impl.AbstractPseudoInstruction:
writeTo

Field Detail

descriptorback to summary
protected final Utf8Entry descriptor
endScopeback to summary
protected final Label endScope
nameback to summary
protected final Utf8Entry name
slotback to summary
protected final int slot
startScopeback to summary
protected final Label startScope

Constructor Detail

AbstractLocalPseudoback to summary
public AbstractLocalPseudo(int slot, Utf8Entry name, Utf8Entry descriptor, Label startScope, Label endScope)

Method Detail

endScopeback to summary
public Label endScope()
nameback to summary
public Utf8Entry name()
nameStringback to summary
public String nameString()
slotback to summary
public int slot()
startScopeback to summary
public Label startScope()
writeToback to summary
public boolean writeTo(BufWriter b)
jdk.internal.classfile.impl back to summary

public final Class AbstractPseudoInstruction.ExceptionCatchImpl

extends AbstractPseudoInstruction
implements ExceptionCatch
Class Inheritance
All Implemented Interfaces
java.lang.classfile.instruction.ExceptionCatch, java.lang.classfile.PseudoInstruction, java.lang.classfile.CodeElement, java.lang.classfile.ClassFileElement

Field Summary

Modifier and TypeField and Description
public final ClassEntry
public final Label
public final Label
public final Label

Constructor Summary

AccessConstructor and Description
public
ExceptionCatchImpl(Label handler, Label tryStart, Label tryEnd, ClassEntry catchTypeEntry)

public
ExceptionCatchImpl(Label handler, Label tryStart, Label tryEnd, Optional<ClassEntry> catchTypeEntry)

Method Summary

Modifier and TypeMethod and Description
public Optional<ClassEntry>
catchType()

Implements java.lang.classfile.instruction.ExceptionCatch.catchType.

Returns the type of the exception to catch, or empty if this handler is unconditional.

pack-priv ClassEntry
public Label
handler()

Implements java.lang.classfile.instruction.ExceptionCatch.handler.

Returns the handler for the exception.

public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.

public Label
tryEnd()

Implements java.lang.classfile.instruction.ExceptionCatch.tryEnd.

Returns the end of the instruction range for the guarded instructions.

public Label
tryStart()

Implements java.lang.classfile.instruction.ExceptionCatch.tryStart.

Returns the beginning of the instruction range for the guarded instructions.

public void

Field Detail

catchTypeEntryback to summary
public final ClassEntry catchTypeEntry
handlerback to summary
public final Label handler
tryEndback to summary
public final Label tryEnd
tryStartback to summary
public final Label tryStart

Constructor Detail

ExceptionCatchImplback to summary
public ExceptionCatchImpl(Label handler, Label tryStart, Label tryEnd, ClassEntry catchTypeEntry)
ExceptionCatchImplback to summary
public ExceptionCatchImpl(Label handler, Label tryStart, Label tryEnd, Optional<ClassEntry> catchTypeEntry)

Method Detail

catchTypeback to summary
public Optional<ClassEntry> catchType()

Implements java.lang.classfile.instruction.ExceptionCatch.catchType.

Doc from java.lang.classfile.instruction.ExceptionCatch.catchType.

Returns the type of the exception to catch, or empty if this handler is unconditional.

Returns:Optional<ClassEntry>

the type of the exception to catch, or empty if this handler is unconditional

Annotations
@Override
catchTypeEntryback to summary
pack-priv ClassEntry catchTypeEntry()
handlerback to summary
public Label handler()

Implements java.lang.classfile.instruction.ExceptionCatch.handler.

Doc from java.lang.classfile.instruction.ExceptionCatch.handler.

Returns the handler for the exception.

Returns:Label

the handler for the exception

Annotations
@Override
toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object. Satisfying this method's contract implies a non-null result must be returned.

Returns:String

a string representation of the object

Annotations
@Override
tryEndback to summary
public Label tryEnd()

Implements java.lang.classfile.instruction.ExceptionCatch.tryEnd.

Doc from java.lang.classfile.instruction.ExceptionCatch.tryEnd.

Returns the end of the instruction range for the guarded instructions.

Returns:Label

the end of the instruction range for the guarded instructions

Annotations
@Override
tryStartback to summary
public Label tryStart()

Implements java.lang.classfile.instruction.ExceptionCatch.tryStart.

Doc from java.lang.classfile.instruction.ExceptionCatch.tryStart.

Returns the beginning of the instruction range for the guarded instructions.

Returns:Label

the beginning of the instruction range for the guarded instructions

Annotations
@Override
writeToback to summary
public void writeTo(DirectCodeBuilder writer)

Implements abstract jdk.internal.classfile.impl.AbstractPseudoInstruction.writeTo.

Annotations
@Override
jdk.internal.classfile.impl back to summary

public final Class AbstractPseudoInstruction.UnboundCharacterRange

extends AbstractPseudoInstruction
implements CharacterRange
Class Inheritance
All Implemented Interfaces
java.lang.classfile.instruction.CharacterRange, java.lang.classfile.PseudoInstruction, java.lang.classfile.CodeElement, java.lang.classfile.ClassFileElement

Field Summary

Modifier and TypeField and Description
public final int
public final int
public final Label
public final int
public final Label

Constructor Summary

AccessConstructor and Description
public
UnboundCharacterRange(Label startScope, Label endScope, int characterRangeStart, int characterRangeEnd, int flags)

Method Summary

Modifier and TypeMethod and Description
public int
characterRangeEnd()

Implements java.lang.classfile.instruction.CharacterRange.characterRangeEnd.

Returns the encoded end of the character range region (exclusive).

public int
characterRangeStart()

Implements java.lang.classfile.instruction.CharacterRange.characterRangeStart.

Returns the encoded start of the character range region (inclusive).

public Label
endScope()

Implements java.lang.classfile.instruction.CharacterRange.endScope.

Returns the end of the instruction range.

public int
flags()

Implements java.lang.classfile.instruction.CharacterRange.flags.

A flags word, indicating the kind of range.

public Label
startScope()

Implements java.lang.classfile.instruction.CharacterRange.startScope.

Returns the start of the instruction range.

public void

Field Detail

characterRangeEndback to summary
public final int characterRangeEnd
characterRangeStartback to summary
public final int characterRangeStart
endScopeback to summary
public final Label endScope
flagsback to summary
public final int flags
startScopeback to summary
public final Label startScope

Constructor Detail

UnboundCharacterRangeback to summary
public UnboundCharacterRange(Label startScope, Label endScope, int characterRangeStart, int characterRangeEnd, int flags)

Method Detail

characterRangeEndback to summary
public int characterRangeEnd()

Implements java.lang.classfile.instruction.CharacterRange.characterRangeEnd.

Doc from java.lang.classfile.instruction.CharacterRange.characterRangeEnd.

Returns the encoded end of the character range region (exclusive). . The value is constructed from the line_number/column_number pair as given by line_number << 10 + column_number, where the source file is viewed as an array of (possibly multi-byte) characters.

Returns:int

the encoded end of the character range region (exclusive)

Annotations
@Override
characterRangeStartback to summary
public int characterRangeStart()

Implements java.lang.classfile.instruction.CharacterRange.characterRangeStart.

Doc from java.lang.classfile.instruction.CharacterRange.characterRangeStart.

Returns the encoded start of the character range region (inclusive). The value is constructed from the line_number/column_number pair as given by line_number << 10 + column_number, where the source file is viewed as an array of (possibly multi-byte) characters.

Returns:int

the encoded start of the character range region (inclusive)

Annotations
@Override
endScopeback to summary
public Label endScope()

Implements java.lang.classfile.instruction.CharacterRange.endScope.

Doc from java.lang.classfile.instruction.CharacterRange.endScope.

Returns the end of the instruction range.

Returns:Label

the end of the instruction range

Annotations
@Override
flagsback to summary
public int flags()

Implements java.lang.classfile.instruction.CharacterRange.flags.

Doc from java.lang.classfile.instruction.CharacterRange.flags.

A flags word, indicating the kind of range. Multiple flag bits may be set. Valid flags include:

Returns:int

the flags

Annotations
@Override
startScopeback to summary
public Label startScope()

Implements java.lang.classfile.instruction.CharacterRange.startScope.

Doc from java.lang.classfile.instruction.CharacterRange.startScope.

Returns the start of the instruction range.

Returns:Label

the start of the instruction range

Annotations
@Override
writeToback to summary
public void writeTo(DirectCodeBuilder writer)

Implements abstract jdk.internal.classfile.impl.AbstractPseudoInstruction.writeTo.

Annotations
@Override
jdk.internal.classfile.impl back to summary

public final Class AbstractPseudoInstruction.UnboundLocalVariable

extends AbstractLocalPseudo
implements LocalVariable
Class Inheritance
All Implemented Interfaces
java.lang.classfile.instruction.LocalVariable, java.lang.classfile.PseudoInstruction, java.lang.classfile.CodeElement, java.lang.classfile.ClassFileElement

Field Summary

Inherited from jdk.internal.classfile.impl.AbstractPseudoInstruction.AbstractLocalPseudo:
descriptorendScopenameslotstartScope

Constructor Summary

AccessConstructor and Description
public
UnboundLocalVariable(int slot, Utf8Entry name, Utf8Entry descriptor, Label startScope, Label endScope)

Method Summary

Modifier and TypeMethod and Description
public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.

public Utf8Entry
type()

Implements java.lang.classfile.instruction.LocalVariable.type.

Returns the local variable field descriptor.

public void
Inherited from jdk.internal.classfile.impl.AbstractPseudoInstruction.AbstractLocalPseudo:
endScopenamenameStringslotstartScopewriteTo

Constructor Detail

UnboundLocalVariableback to summary
public UnboundLocalVariable(int slot, Utf8Entry name, Utf8Entry descriptor, Label startScope, Label endScope)

Method Detail

toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object. Satisfying this method's contract implies a non-null result must be returned.

Returns:String

a string representation of the object

Annotations
@Override
typeback to summary
public Utf8Entry type()

Implements java.lang.classfile.instruction.LocalVariable.type.

Doc from java.lang.classfile.instruction.LocalVariable.type.

Returns the local variable field descriptor.

Returns:Utf8Entry

the local variable field descriptor

Annotations
@Override
writeToback to summary
public void writeTo(DirectCodeBuilder writer)

Implements abstract jdk.internal.classfile.impl.AbstractPseudoInstruction.writeTo.

Annotations
@Override
jdk.internal.classfile.impl back to summary

public final Class AbstractPseudoInstruction.UnboundLocalVariableType

extends AbstractLocalPseudo
implements LocalVariableType
Class Inheritance
All Implemented Interfaces
java.lang.classfile.instruction.LocalVariableType, java.lang.classfile.PseudoInstruction, java.lang.classfile.CodeElement, java.lang.classfile.ClassFileElement

Field Summary

Inherited from jdk.internal.classfile.impl.AbstractPseudoInstruction.AbstractLocalPseudo:
descriptorendScopenameslotstartScope

Constructor Summary

AccessConstructor and Description
public
UnboundLocalVariableType(int slot, Utf8Entry name, Utf8Entry signature, Label startScope, Label endScope)

Method Summary

Modifier and TypeMethod and Description
public Utf8Entry
signature()

Implements java.lang.classfile.instruction.LocalVariableType.signature.

Returns the local variable signature.

public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.

public void
Inherited from jdk.internal.classfile.impl.AbstractPseudoInstruction.AbstractLocalPseudo:
endScopenamenameStringslotstartScopewriteTo

Constructor Detail

UnboundLocalVariableTypeback to summary
public UnboundLocalVariableType(int slot, Utf8Entry name, Utf8Entry signature, Label startScope, Label endScope)

Method Detail

signatureback to summary
public Utf8Entry signature()

Implements java.lang.classfile.instruction.LocalVariableType.signature.

Doc from java.lang.classfile.instruction.LocalVariableType.signature.

Returns the local variable signature.

Returns:Utf8Entry

the local variable signature

Annotations
@Override
toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object. Satisfying this method's contract implies a non-null result must be returned.

Returns:String

a string representation of the object

Annotations
@Override
writeToback to summary
public void writeTo(DirectCodeBuilder writer)

Implements abstract jdk.internal.classfile.impl.AbstractPseudoInstruction.writeTo.

Annotations
@Override