ProGuard

proguard.optimize.evaluation.value
Class Value

java.lang.Object
  extended byproguard.optimize.evaluation.value.Value
Direct Known Subclasses:
proguard.optimize.evaluation.value.Category1Value, proguard.optimize.evaluation.value.Category2Value

public abstract class Value
extends Object

This abstract class represents a partially evaluated value.


Field Summary
static int ALWAYS
           
static int MAYBE
           
static int NEVER
           
static int TYPE_DOUBLE
           
static int TYPE_FLOAT
           
static int TYPE_INSTRUCTION_OFFSET
           
static int TYPE_INTEGER
           
static int TYPE_LONG
           
static int TYPE_REFERENCE
           
 
Constructor Summary
Value()
           
 
Method Summary
 proguard.optimize.evaluation.value.Category1Value category1Value()
          Returns this Value as a Category1Value.
 proguard.optimize.evaluation.value.Category2Value category2Value()
          Returns this Value as a Category2Value.
abstract  int computationalType()
          Returns the computational type of this Value.
 DoubleValue doubleValue()
          Returns this Value as a DoubleValue.
 FloatValue floatValue()
          Returns this Value as a FloatValue.
abstract  Value generalize(Value other)
          Returns the generalization of this Value and the given other Value.
 InstructionOffsetValue instructionOffsetValue()
          Returns this Value as a InstructionOffsetValue.
 IntegerValue integerValue()
          Returns this Value as an IntegerValue.
abstract  boolean isCategory2()
          Returns whether the computational type of this Value is a category 2 type.
 boolean isSpecific()
          Returns whether this Value represents a single specific value.
 LongValue longValue()
          Returns this Value as a LongValue.
 ReferenceValue referenceValue()
          Returns this Value as a ReferenceValue.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

NEVER

public static final int NEVER
See Also:
Constant Field Values

MAYBE

public static final int MAYBE
See Also:
Constant Field Values

ALWAYS

public static final int ALWAYS
See Also:
Constant Field Values

TYPE_INTEGER

public static final int TYPE_INTEGER
See Also:
Constant Field Values

TYPE_LONG

public static final int TYPE_LONG
See Also:
Constant Field Values

TYPE_FLOAT

public static final int TYPE_FLOAT
See Also:
Constant Field Values

TYPE_DOUBLE

public static final int TYPE_DOUBLE
See Also:
Constant Field Values

TYPE_REFERENCE

public static final int TYPE_REFERENCE
See Also:
Constant Field Values

TYPE_INSTRUCTION_OFFSET

public static final int TYPE_INSTRUCTION_OFFSET
See Also:
Constant Field Values
Constructor Detail

Value

public Value()
Method Detail

category1Value

public proguard.optimize.evaluation.value.Category1Value category1Value()
Returns this Value as a Category1Value.


category2Value

public proguard.optimize.evaluation.value.Category2Value category2Value()
Returns this Value as a Category2Value.


integerValue

public IntegerValue integerValue()
Returns this Value as an IntegerValue.


longValue

public LongValue longValue()
Returns this Value as a LongValue.


floatValue

public FloatValue floatValue()
Returns this Value as a FloatValue.


doubleValue

public DoubleValue doubleValue()
Returns this Value as a DoubleValue.


referenceValue

public ReferenceValue referenceValue()
Returns this Value as a ReferenceValue.


instructionOffsetValue

public InstructionOffsetValue instructionOffsetValue()
Returns this Value as a InstructionOffsetValue.


isSpecific

public boolean isSpecific()
Returns whether this Value represents a single specific value.


generalize

public abstract Value generalize(Value other)
Returns the generalization of this Value and the given other Value.


isCategory2

public abstract boolean isCategory2()
Returns whether the computational type of this Value is a category 2 type. This means that it takes up the space of two category 1 types on the stack, for instance.


computationalType

public abstract int computationalType()
Returns the computational type of this Value. The type is one of


ProGuard