| Modifier and Type | Field and Description |
|---|---|
| protected static final ByteCodeForm[] | |
| protected static final Map | |
| private int | |
| private final String | |
| private final int | |
| private int | |
| private final int[] | |
| protected static final boolean |
| Access | Constructor and Description |
|---|---|
| public | ByteCodeForm(final int
int corresponding to the opcode's value opcode, final String String printable name of the opcode name)Answer a new instance of this class with the specified opcode and name. |
| public | ByteCodeForm(final int
int corresponding to the opcode's value opcode, final String String printable name of the opcode name, final int[] int[] Array of ints. Operand positions (which will later be rewritten in ByteCodes) are indicated by -1. rewrite)Answer a new instance of this class with the specified opcode, name, operandType and rewrite |
| Modifier and Type | Method and Description |
|---|---|
| protected void | |
| public int | |
| public void | fixUpByteCodeTargets(final ByteCode
a ByteCode to be fixed up byteCode, final CodeAttribute a CodeAttribute used to determine how the ByteCode should be fixed up. codeAttribute)The ByteCodeForm knows how to fix up a bytecode if it needs to be fixed up because it holds a Label bytecode. |
| public static ByteCodeForm | |
| public String | |
| public int | |
| public int[] | |
| public int[] | |
| public boolean | Returns: boolean true if multibytecode, false otherwiseThis method will answer true if the receiver is a multi-bytecode instruction (such as aload0_putfield_super); otherwise, it will answer false. |
| public boolean | |
| public boolean | |
| public int | |
| public abstract void | setByteCodeOperands(ByteCode
ByteCode to be updated (!) byteCode, OperandManager OperandTable from which to draw info operandManager, int Length of bytes (excluding this bytecode) from the beginning of the method. Used in calculating padding for some variable-length
bytecodes (such as lookupswitch, tableswitch). codeLength)When passed a byteCode, an OperandTable and a SegmentConstantPool, this method will set the rewrite of the byteCode appropriately. |
| public String |
| byteCodeArray | back to summary |
|---|---|
| protected static final ByteCodeForm[] byteCodeArray | |
| byteCodesByName | back to summary |
|---|---|
| protected static final Map<String, ByteCodeForm> byteCodesByName | |
| firstOperandIndex | back to summary |
|---|---|
| private int firstOperandIndex | |
| name | back to summary |
|---|---|
| private final String name | |
| opcode | back to summary |
|---|---|
| private final int opcode | |
| operandLength | back to summary |
|---|---|
| private int operandLength | |
| rewrite | back to summary |
|---|---|
| private final int[] rewrite | |
| WIDENED | back to summary |
|---|---|
| protected static final boolean WIDENED | |
| ByteCodeForm | back to summary |
|---|---|
| public ByteCodeForm(final int opcode, final String name) Answer a new instance of this class with the specified opcode and name. Assume no rewrite.
| |
| ByteCodeForm | back to summary |
|---|---|
| public ByteCodeForm(final int opcode, final String name, final int[] rewrite) Answer a new instance of this class with the specified opcode, name, operandType and rewrite
| |
| calculateOperandPosition | back to summary |
|---|---|
| protected void calculateOperandPosition() | |
| firstOperandIndex | back to summary |
|---|---|
| public int firstOperandIndex() | |
| fixUpByteCodeTargets | back to summary |
|---|---|
| public void fixUpByteCodeTargets(final ByteCode byteCode, final CodeAttribute codeAttribute) The ByteCodeForm knows how to fix up a bytecode if it needs to be fixed up because it holds a Label bytecode.
| |
| get | back to summary |
|---|---|
| public static ByteCodeForm get(final int opcode) | |
| getName | back to summary |
|---|---|
| public String getName() | |
| getOpcode | back to summary |
|---|---|
| public int getOpcode() | |
| getRewrite | back to summary |
|---|---|
| public int[] getRewrite() | |
| getRewriteCopy | back to summary |
|---|---|
| public int[] getRewriteCopy() | |
| hasMultipleByteCodes | back to summary |
|---|---|
| public boolean hasMultipleByteCodes() This method will answer true if the receiver is a multi-bytecode instruction (such as aload0_putfield_super); otherwise, it will answer false.
| |
| hasNoOperand | back to summary |
|---|---|
| public boolean hasNoOperand() | |
| nestedMustStartClassPool | back to summary |
|---|---|
| public boolean nestedMustStartClassPool() | |
| operandLength | back to summary |
|---|---|
| public int operandLength() | |
| setByteCodeOperands | back to summary |
|---|---|
| public abstract void setByteCodeOperands(ByteCode byteCode, OperandManager operandManager, int codeLength) When passed a byteCode, an OperandTable and a SegmentConstantPool, this method will set the rewrite of the byteCode appropriately.
| |
| toString | back to summary |
|---|---|
| public String toString() Overrides java. Doc from java. Returns a string representation of the object. | |