public class InstructionOffsetValue extends Category1Value
Modifier and Type | Field and Description |
---|---|
static int |
CAST |
static InstructionOffsetValue |
EMPTY_VALUE |
static int |
EXCEPTION_HANDLER |
static int |
FIELD_VALUE |
static int |
INSTRUCTION_OFFSET_MASK |
static int |
METHOD_PARAMETER |
static int |
METHOD_RETURN_VALUE |
static int |
NEW_INSTANCE |
ALWAYS, MAYBE, NEVER, TYPE_DOUBLE, TYPE_FLOAT, TYPE_INSTRUCTION_OFFSET, TYPE_INTEGER, TYPE_LONG, TYPE_REFERENCE, TYPE_TOP, TYPE_UNKNOWN
Constructor and Description |
---|
InstructionOffsetValue(int value)
Creates a new InstructionOffsetValue with the given instruction offset.
|
InstructionOffsetValue(int[] values)
Creates a new InstructionOffsetValue with the given list of instruction offsets.
|
Modifier and Type | Method and Description |
---|---|
InstructionOffsetValue |
add(int value)
Returns an InstructionOffsetValue that contains the instructions offsets of this value and the
given instruction offset.
|
int |
computationalType()
Returns the computational type of this Value.
|
boolean |
contains(int value)
Returns whether the given value is present in this list of instruction offsets.
|
boolean |
equals(java.lang.Object object) |
InstructionOffsetValue |
generalize(InstructionOffsetValue other)
Returns the generalization of this InstructionOffsetValue and the given other
InstructionOffsetValue.
|
Value |
generalize(Value other)
Returns the generalization of this Value and the given other Value.
|
int |
hashCode() |
int |
instructionOffset(int index)
Returns the specified instruction offset of this value.
|
int |
instructionOffsetCount()
Returns the number of instruction offsets of this value.
|
InstructionOffsetValue |
instructionOffsetValue()
Returns this Value as an InstructionOffsetValue.
|
java.lang.String |
internalType()
Returns the internal type of this Value.
|
boolean |
isCast(int index)
Returns whether the specified instruction offset corresponds to a cast.
|
boolean |
isExceptionHandler(int index)
Returns whether the specified instruction offset corresponds to an exception handler.
|
boolean |
isFieldValue(int index)
Returns whether the specified instruction offset corresponds to a field value.
|
boolean |
isMethodParameter(int index)
Returns whether the specified instruction offset corresponds to a method parameter.
|
boolean |
isMethodReturnValue(int index)
Returns whether the specified instruction offset corresponds to a method return value.
|
boolean |
isNewinstance(int index)
Returns whether the specified instruction offset corresponds to a new instance.
|
boolean |
isParticular()
Returns whether this Value represents a single particular (known) value.
|
boolean |
isSpecific()
Returns whether this Value represents a single specific (but possibly unknown) value.
|
int |
maximumValue()
Returns the maximum value from this list of instruction offsets.
|
int |
methodParameter(int index)
Returns the specified method parameter (assuming it is one).
|
int |
minimumValue()
Returns the minimum value from this list of instruction offsets.
|
InstructionOffsetValue |
remove(int value)
Returns an InstructionOffsetValue that contains the instructions offsets of this value but not
the given instruction offset.
|
java.lang.String |
toString() |
category1Value, isCategory2
category2Value, copyIfMutable, doubleValue, floatValue, integerValue, longValue, referenceValue
public static final InstructionOffsetValue EMPTY_VALUE
public static final int INSTRUCTION_OFFSET_MASK
public static final int METHOD_PARAMETER
public static final int METHOD_RETURN_VALUE
public static final int FIELD_VALUE
public static final int NEW_INSTANCE
public static final int CAST
public static final int EXCEPTION_HANDLER
public InstructionOffsetValue(int value)
public InstructionOffsetValue(int[] values)
public int instructionOffsetCount()
public int instructionOffset(int index)
public boolean contains(int value)
public int minimumValue()
Integer.MAX_VALUE
if the list is empty.public int maximumValue()
Integer.MIN_VALUE
if the list is empty.public boolean isMethodParameter(int index)
public int methodParameter(int index)
public boolean isMethodReturnValue(int index)
public boolean isFieldValue(int index)
public boolean isNewinstance(int index)
public boolean isCast(int index)
public boolean isExceptionHandler(int index)
public InstructionOffsetValue add(int value)
public InstructionOffsetValue remove(int value)
public final InstructionOffsetValue generalize(InstructionOffsetValue other)
public final InstructionOffsetValue instructionOffsetValue()
Value
instructionOffsetValue
in class Value
public boolean isSpecific()
Value
isSpecific
in class Value
public boolean isParticular()
Value
isParticular
in class Value
public final Value generalize(Value other)
Value
generalize
in class Value
public final int computationalType()
Value
computationalType
in class Value
TYPE_INTEGER
, TYPE_LONG
, TYPE_FLOAT
,
TYPE_DOUBLE
, TYPE_REFERENCE
, or TYPE_INSTRUCTION_OFFSET
.public final java.lang.String internalType()
Value
internalType
in class Value
TypeConstants.BOOLEAN
, TypeConstants.BYTE
,
TypeConstants.CHAR
, TypeConstants.SHORT
, TypeConstants.INT
, TypeConstants.LONG
, TypeConstants.FLOAT
,
TypeConstants.DOUBLE
, TypeConstants.CLASS_START ... TypeConstants.CLASS_END
, or an array type containing any of these types (always as String).public boolean equals(java.lang.Object object)
equals
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object
public java.lang.String toString()
toString
in class java.lang.Object