Package com.strobel.assembler.ir
Enum OperandType
- java.lang.Object
-
- java.lang.Enum<OperandType>
-
- com.strobel.assembler.ir.OperandType
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Comparable<OperandType>
public enum OperandType extends java.lang.Enum<OperandType>
-
-
Enum Constant Summary
Enum Constants Enum Constant Description BranchTarget
Opcode is followed by a 2-byte branch offset.BranchTargetWide
Opcode is followed by a 4-byte branch offset.Constant
Opcode is followed by an unsigned byte.DynamicCallSite
Opcode is followed by a method reference.FieldReference
Opcode is followed by a field reference.I1
Opcode is followed by a signed byte.I2
Opcode is followed by a signed short integer.I8
Opcode is followed by a signed long integer.Local
Opcode is followed by a 1-byte reference to a local variable.LocalI1
Opcode is followed by a 1-byte reference to a local variable and a signed byte value.LocalI2
Opcode is followed by a 2-byte reference to a local variable and a signed short integer.MethodReference
Opcode is followed by a method reference.None
Opcode is not followed by any operands.PrimitiveTypeCode
Opcode is followed by a primitive type code.Switch
Opcode is followed by variable number of operands, depending on the instruction.TypeReference
Opcode is followed by a type reference.TypeReferenceU1
Opcode is followed by a type reference and an unsigned byte.WideConstant
Opcode is followed by an unsigned short integer.
-
Field Summary
Fields Modifier and Type Field Description private int
size
-
Constructor Summary
Constructors Modifier Constructor Description private
OperandType(int size)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description int
getBaseSize()
static OperandType
valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name.static OperandType[]
values()
Returns an array containing the constants of this enum type, in the order they are declared.
-
-
-
Enum Constant Detail
-
None
public static final OperandType None
Opcode is not followed by any operands.
-
PrimitiveTypeCode
public static final OperandType PrimitiveTypeCode
Opcode is followed by a primitive type code.
-
TypeReference
public static final OperandType TypeReference
Opcode is followed by a type reference.
-
TypeReferenceU1
public static final OperandType TypeReferenceU1
Opcode is followed by a type reference and an unsigned byte.
-
DynamicCallSite
public static final OperandType DynamicCallSite
Opcode is followed by a method reference.
-
MethodReference
public static final OperandType MethodReference
Opcode is followed by a method reference.
-
FieldReference
public static final OperandType FieldReference
Opcode is followed by a field reference.
-
BranchTarget
public static final OperandType BranchTarget
Opcode is followed by a 2-byte branch offset.
-
BranchTargetWide
public static final OperandType BranchTargetWide
Opcode is followed by a 4-byte branch offset.
-
I1
public static final OperandType I1
Opcode is followed by a signed byte.
-
I2
public static final OperandType I2
Opcode is followed by a signed short integer.
-
I8
public static final OperandType I8
Opcode is followed by a signed long integer.
-
Constant
public static final OperandType Constant
Opcode is followed by an unsigned byte.
-
WideConstant
public static final OperandType WideConstant
Opcode is followed by an unsigned short integer.
-
Switch
public static final OperandType Switch
Opcode is followed by variable number of operands, depending on the instruction.
-
Local
public static final OperandType Local
Opcode is followed by a 1-byte reference to a local variable.
-
LocalI1
public static final OperandType LocalI1
Opcode is followed by a 1-byte reference to a local variable and a signed byte value.
-
LocalI2
public static final OperandType LocalI2
Opcode is followed by a 2-byte reference to a local variable and a signed short integer.
-
-
Method Detail
-
values
public static OperandType[] values()
Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:for (OperandType c : OperandType.values()) System.out.println(c);
- Returns:
- an array containing the constants of this enum type, in the order they are declared
-
valueOf
public static OperandType valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
name
- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
java.lang.IllegalArgumentException
- if this enum type has no constant with the specified namejava.lang.NullPointerException
- if the argument is null
-
getBaseSize
public final int getBaseSize()
-
-