| Modifier and Type | Class and Description |
|---|---|
| public class | CodeContext.BasicBlock
This |
| private class | |
| private static class | CodeContext.ExceptionTableEntry
Representation of an entry in the "exception_table" of a "Code" attribute (see JVMS 4.7.3). |
| public static interface | CodeContext.FixUp
A throw-in interface that marks |
| private class | |
| public class | CodeContext.Inserter
A class that implements an insertion point into a "Code" attribute. |
| public class | CodeContext.LineNumberOffset
An |
| pack-priv static class | |
| public class | CodeContext.Offset
A class that represents an offset within a "Code" attribute. |
| private class | |
| private abstract class |
| Modifier and Type | Field and Description |
|---|---|
| private final List | allLocalVars
All the local variables that are allocated in any block in this |
| private final CodeContext. | |
| private static final Map | |
| private final ClassFile | |
| private byte[] | |
| private CodeContext. | |
| private CodeContext. | currentLocalScope
Each List of Java.LocalVariableSlot is the local variables allocated for a block. |
| private final CodeContext. | |
| private final List | |
| private static final int | |
| private short | |
| private int | |
| private short | |
| private final List | |
| private static final boolean |
| Access | Constructor and Description |
|---|---|
| public |
| Modifier and Type | Method and Description |
|---|---|
| public void | addExceptionTableEntry(CodeContext.
null means finally clauseAdds another entry to the "exception_table" of this code attribute (see JVMS 4.7.3). |
| public void | |
| public short | Returns: The slot index of the allocated variableThe number of slots to allocate (1 or 2) size)Allocates space for a local variable of the given size (1 or 2) on the local variable array. |
| public Java. | allocateLocalVariable(short
Number of slots to use (1 or 2) size, String The variable name; if name, IType null, then the variable won't be written to the LocalVariableTableThe variable type; if the name is not null, then the type is needed to write to the
LocalVariableTable type)Allocates space for a local variable of the given size (1 or 2) on the local variable array. |
| private static Map | |
| public CodeContext. | |
| private void | |
| public void | |
| public List | Returns: All the local variables that are allocated in any block in thisCodeContext
|
| public ClassFile | |
| private static int | invertBranchOpcode(int branchOpcode)
E.g. |
| public int | Returns: The offset of the first inserted byteThe number of NUL bytes to inject size)Inserts size NUL bytes at the current inserter's offset, advances the current inserter's offset by
size, creates |
| private void | |
| private static final StackMap | |
| public CodeContext. | |
| public ClassFile. | newCodeAttribute(int
The number of parameters, plus one iff there is a "this" parameter initialLocalsCount, boolean debugLines, boolean debugVars)
|
| public CodeContext. | newInserter()
Allocates an |
| private ClassFile. | |
| protected ClassFile. | |
| public CodeContext. | |
| private ClassFile. | |
| public boolean | |
| public boolean | |
| public ClassFile. | |
| public void | popInserter()
Replaces the current |
| public void | |
| public ClassFile. | popIntOrLongOperand()
Asserts that the top operand is an |
| public void | |
| public void | |
| public String | Returns: The field descriptor of the popped object operandAsserts that the top operand is an |
| public ClassFile. | popObjectOrUninitializedOrUninitializedThisOperand()
Asserts that the top operand is an |
| public ClassFile. | |
| public void | popOperand(ClassFile.
Pops the top entry from the operand stack and assert that it equals expected. |
| public void | popOperand(String expectedFd)
Pops the top operand, asserts that it is an |
| public void | |
| public void | popReferenceOperand()
Asserts that the top operand is an |
| public void | popUninitializedThisOperand()
Asserts that the top operand is an |
| public void | popUninitializedVariableOperand()
Asserts that the top operand is an |
| public void | |
| public void | |
| public void | pushInserter(CodeContext.
Remembers the current |
| public void | |
| public void | |
| public void | |
| public void | |
| public void | pushOperand(String fieldDescriptor)
Pushes one |
| public void | |
| public void | |
| public void | |
| public void | |
| private static IClass | |
| private void | |
| public void | |
| public void | |
| public List | |
| public String | |
| public void | |
| public void | |
| public void | |
| public void | |
| public void | |
| public void | |
| public void | writeBranch(int opcode, final CodeContext.
Where to branch dstGenerates a "branch" instruction. |
| public void | writeOffset(CodeContext.
Writes a four-byte offset (as it is used in TABLESWITCH and LOOKUPSWITCH) into this code context. |
| public void |