Modifier and Type | Class and Description |
---|---|
private static class | |
private static record | |
private static class |
Modifier and Type | Field and Description |
---|---|
pack-priv final BufWriter | |
private final List | |
private Attribute | |
pack-priv List | |
private final Label | |
pack-priv final List | |
private DirectCodeBuilder. | |
private final List | |
private final List | |
pack-priv final MethodInfo | |
private CodeAttribute | |
private int[] | |
private Map | |
private final Label | |
private int | |
private final boolean | |
private final boolean |
Access | Constructor and Description |
---|---|
private | DirectCodeBuilder(MethodInfo methodInfo, SplitConstantPool constantPool, ClassFileImpl context, CodeModel original, boolean transformFwdJumps)
|
Modifier and Type | Method and Description |
---|---|
public void | |
public void | |
public void | |
public void | |
public int | allocateLocal(TypeKind
the type of the local variable typeKind)Implements java. Returns the local variable slot of a fresh local variable. |
public static Attribute | build(MethodInfo methodInfo, Consumer<? super CodeBuilder> handler, SplitConstantPool constantPool, ClassFileImpl context, CodeModel original)
|
private void | |
private boolean | |
public int | |
public int | |
public Label | endLabel()
Implements java. Returns the label associated with the end of the current block. |
public Label | |
public int | |
public MethodInfo | |
public Label | newLabel()
Implements java. Returns a fresh unbound label. |
public int | parameterSlot(int
the index of the parameter paramNo)Implements java. Returns the local variable slot associated with the specified parameter. |
private void | |
public int | receiverSlot()
Implements java. Returns the local variable slot associated with the receiver. |
public void | |
public void | setLabelTarget(Label label, int bci)
Implements jdk.
|
public void | |
public Label | startLabel()
Implements java. Returns the label associated with the beginning of the current block. |
public String | |
public CodeBuilder | with(CodeElement
the element element)Implements java. Integrate the |
public void | |
public void | |
public void | |
private void | |
public void | |
public void | |
public void | |
public void | |
public void | |
private void | |
public void | |
public void | |
public void | |
public void | |
public void | |
public void | |
public void | |
public void | |
public void |
bytecodesBufWriter | back to summary |
---|---|
pack-priv final BufWriter bytecodesBufWriter |
characterRanges | back to summary |
---|---|
private final List<CharacterRange> characterRanges |
content | back to summary |
---|---|
private Attribute<CodeAttribute> content |
deferredLabels | back to summary |
---|---|
pack-priv List<DirectCodeBuilder. |
endLabel | back to summary |
---|---|
private final Label endLabel |
handlers | back to summary |
---|---|
pack-priv final List<AbstractPseudoInstruction. |
lineNumberWriter | back to summary |
---|---|
private DirectCodeBuilder. |
localVariables | back to summary |
---|---|
private final List<LocalVariable> localVariables |
localVariableTypes | back to summary |
---|---|
private final List<LocalVariableType> localVariableTypes |
methodInfo | back to summary |
---|---|
pack-priv final MethodInfo methodInfo |
mruParent | back to summary |
---|---|
private CodeAttribute mruParent |
mruParentTable | back to summary |
---|---|
private int[] mruParentTable |
parentMap | back to summary |
---|---|
private Map<CodeAttribute, int[]> parentMap |
startLabel | back to summary |
---|---|
private final Label startLabel |
topLocal | back to summary |
---|---|
private int topLocal |
transformBackJumps | back to summary |
---|---|
private final boolean transformBackJumps |
transformFwdJumps | back to summary |
---|---|
private final boolean transformFwdJumps |
DirectCodeBuilder | back to summary |
---|---|
private DirectCodeBuilder(MethodInfo methodInfo, SplitConstantPool constantPool, ClassFileImpl context, CodeModel original, boolean transformFwdJumps) |
addCharacterRange | back to summary |
---|---|
public void addCharacterRange(CharacterRange element) |
addHandler | back to summary |
---|---|
public void addHandler(ExceptionCatch element) |
addLocalVariable | back to summary |
---|---|
public void addLocalVariable(LocalVariable element) |
addLocalVariableType | back to summary |
---|---|
public void addLocalVariableType(LocalVariableType element) |
allocateLocal | back to summary |
---|---|
public int allocateLocal(TypeKind typeKind) Implements java. Doc from java. Returns the local variable slot of a fresh local variable. This method
makes reasonable efforts to determine which slots are in use and which
are not. When transforming a method, fresh locals begin at the If the current code builder is a "block" code builder provided by
|
build | back to summary |
---|---|
public static Attribute |
buildContent | back to summary |
---|---|
private void buildContent() |
codeAndExceptionsMatch | back to summary |
---|---|
private boolean codeAndExceptionsMatch(int codeLength) |
curPc | back to summary |
---|---|
public int curPc() |
curTopLocal | back to summary |
---|---|
public int curTopLocal() Implements jdk. |
endLabel | back to summary |
---|---|
public Label endLabel() Implements java. Doc from java. Returns the label associated with the end of the current block.
If the current CodeBuilder is not a "block" builder, such as
those provided by |
getLabel | back to summary |
---|---|
public Label getLabel(int bci) Implements jdk.
|
labelToBci | back to summary |
---|---|
public int labelToBci(Label label) Implements jdk.
|
methodInfo | back to summary |
---|---|
public MethodInfo methodInfo() |
newLabel | back to summary |
---|---|
public Label newLabel() Implements java. Doc from java. Returns a fresh unbound label. |
parameterSlot | back to summary |
---|---|
public int parameterSlot(int paramNo) Implements java. Doc from java. 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
|
processDeferredLabels | back to summary |
---|---|
private void processDeferredLabels() |
receiverSlot | back to summary |
---|---|
public int receiverSlot() Implements java. Doc from java. Returns the local variable slot associated with the receiver. .
|
setLabelTarget | back to summary |
---|---|
public void setLabelTarget(Label label) |
setLabelTarget | back to summary |
---|---|
public void setLabelTarget(Label label, int bci) Implements jdk.
|
setLineNumber | back to summary |
---|---|
public void setLineNumber(int lineNo) |
startLabel | back to summary |
---|---|
public Label startLabel() Implements java. Doc from java. Returns the label associated with the beginning of the current block.
If the current CodeBuilder is not a "block" builder, such as
those provided by |
toString | back to summary |
---|---|
public String toString() Overrides java. Doc from java. Returns a string representation of the object.
Satisfying this method's contract implies a non- |
with | back to summary |
---|---|
public CodeBuilder with(CodeElement element) Implements java. Doc from java. Integrate the
|
writeArgumentConstant | back to summary |
---|---|
public void writeArgumentConstant(Opcode opcode, int value) |
writeBranch | back to summary |
---|---|
public void writeBranch(Opcode op, Label target) |
writeBytecode | back to summary |
---|---|
public void writeBytecode(Opcode opcode) |
writeExceptionHandlers | back to summary |
---|---|
private void writeExceptionHandlers(BufWriter buf) |
writeFieldAccess | back to summary |
---|---|
public void writeFieldAccess(Opcode opcode, FieldRefEntry ref) |
writeIncrement | back to summary |
---|---|
public void writeIncrement(int slot, int val) |
writeInvokeDynamic | back to summary |
---|---|
public void writeInvokeDynamic(InvokeDynamicEntry ref) |
writeInvokeInterface | back to summary |
---|---|
public void writeInvokeInterface(Opcode opcode, InterfaceMethodRefEntry ref, int count) |
writeInvokeNormal | back to summary |
---|---|
public void writeInvokeNormal(Opcode opcode, MemberRefEntry ref) |
writeLabelOffset | back to summary |
---|---|
private void writeLabelOffset(int nBytes, int instructionPc, Label label) |
writeLoadConstant | back to summary |
---|---|
public void writeLoadConstant(Opcode opcode, LoadableConstantEntry value) |
writeLocalVar | back to summary |
---|---|
public void writeLocalVar(Opcode opcode, int localVar) |
writeLookupSwitch | back to summary |
---|---|
public void writeLookupSwitch(Label defaultTarget, List<SwitchCase> cases) |
writeNewMultidimensionalArray | back to summary |
---|---|
public void writeNewMultidimensionalArray(int dimensions, ClassEntry type) |
writeNewObject | back to summary |
---|---|
public void writeNewObject(ClassEntry type) |
writeNewPrimitiveArray | back to summary |
---|---|
public void writeNewPrimitiveArray(int newArrayCode) |
writeNewReferenceArray | back to summary |
---|---|
public void writeNewReferenceArray(ClassEntry type) |
writeTableSwitch | back to summary |
---|---|
public void writeTableSwitch(int low, int high, Label defaultTarget, List<SwitchCase> cases) |
writeTypeCheck | back to summary |
---|---|
public void writeTypeCheck(Opcode opcode, ClassEntry type) |
Modifier and Type | Field and Description |
---|---|
private final BufWriterImpl | |
private int | |
private int | |
private int |
Access | Constructor and Description |
---|---|
public |
Modifier and Type | Method and Description |
---|---|
private void | |
public void | writeBody(BufWriter b)
Implements abstract jdk.
|
public void | |
public void | writeTo(BufWriter
the writer b)Overrides jdk. Implements java. Writes the element to the specified writer |
buf | back to summary |
---|---|
private final BufWriterImpl buf |
lastLine | back to summary |
---|---|
private int lastLine |
lastPc | back to summary |
---|---|
private int lastPc |
writtenLine | back to summary |
---|---|
private int writtenLine |
DedupLineNumberTableAttribute | back to summary |
---|---|
public DedupLineNumberTableAttribute(ConstantPoolBuilder constantPool, ClassFileImpl context) |
push | back to summary |
---|---|
private void push() |
writeBody | back to summary |
---|---|
public void writeBody(BufWriter b) Implements abstract jdk.
|
writeLineNumber | back to summary |
---|---|
public void writeLineNumber(int pc, int lineNo) |
writeTo | back to summary |
---|---|
public void writeTo(BufWriter b) Overrides jdk. Implements java. Doc from java. Writes the element to the specified writer |
Modifier and Type | Field and Description |
---|---|
private final int | instructionPc
Record Component accessed by instructionPc(). |
private final Label | |
private final int | |
private final int |
Access | Constructor and Description |
---|---|
private |
Modifier and Type | Method and Description |
---|---|
public final boolean | equals(Object
the reference object with which to compare. o)Implements abstract java. Indicates whether some other object is "equal to" this one. |
public final int | |
public int | |
public Label | |
public int | |
public int | |
public final String | toString()
Implements abstract java. Returns a string representation of the record. |
instructionPc | back to summary |
---|---|
private final int instructionPc Record Component accessed by instructionPc(). |
label | back to summary |
---|---|
private final Label label Record Component accessed by label(). |
labelPc | back to summary |
---|---|
private final int labelPc Record Component accessed by labelPc(). |
size | back to summary |
---|---|
private final int size Record Component accessed by size(). |
DeferredLabel | back to summary |
---|---|
private DeferredLabel(int labelPc, int size, int instructionPc, Label label) |
equals | back to summary |
---|---|
public final boolean equals(Object o) Implements abstract java. Doc from java. Indicates whether some other object is "equal to" this one. In addition
to the general contract of R copy = new R(r.c1(), r.c2(), ..., r.cn());then it must be the case that r.equals(copy) .
|
hashCode | back to summary |
---|---|
public final int hashCode() Implements abstract java. Doc from java. Returns a hash code value for the record.
Obeys the general contract of
|
instructionPc | back to summary |
---|---|
public int instructionPc() Record Component getter of instructionPc. |
label | back to summary |
---|---|
public Label label() Record Component getter of label. |
labelPc | back to summary |
---|---|
public int labelPc() Record Component getter of labelPc. |
size | back to summary |
---|---|
public int size() Record Component getter of size. |
toString | back to summary |
---|---|
public final String toString() Implements abstract java. Doc from java. Returns a string representation of the record.
In accordance with the general contract of In addition to this general contract, record classes must further participate in the invariant that any two records which are equal must produce equal strings. This invariant is necessarily relaxed in the rare case where corresponding equal component values might fail to produce equal strings for themselves.
|
Modifier and Type | Field and Description |
---|---|
private static final long |
Access | Constructor and Description |
---|---|
public |
serialVersionUID | back to summary |
---|---|
private static final long serialVersionUID |
LabelOverflowException | back to summary |
---|---|
public LabelOverflowException() |