ProGuard

proguard.optimize.evaluation.value
Class IntegerValue

java.lang.Object
  extended byproguard.optimize.evaluation.value.Value
      extended byproguard.optimize.evaluation.value.Category1Value
          extended byproguard.optimize.evaluation.value.IntegerValue

public class IntegerValue
extends proguard.optimize.evaluation.value.Category1Value

This class represents a partially evaluated integer value.


Field Summary
 
Fields inherited from class proguard.optimize.evaluation.value.Value
ALWAYS, MAYBE, NEVER, TYPE_DOUBLE, TYPE_FLOAT, TYPE_INSTRUCTION_OFFSET, TYPE_INTEGER, TYPE_LONG, TYPE_REFERENCE
 
Constructor Summary
IntegerValue()
           
 
Method Summary
 IntegerValue add(IntegerValue other)
          Returns the sum of this IntegerValue and the given IntegerValue.
 IntegerValue add(proguard.optimize.evaluation.value.SpecificIntegerValue other)
          Returns the sum of this IntegerValue and the given SpecificIntegerValue.
 IntegerValue and(IntegerValue other)
          Returns the logical and of this IntegerValue and the given IntegerValue.
 IntegerValue and(proguard.optimize.evaluation.value.SpecificIntegerValue other)
          Returns the logical and of this IntegerValue and the given SpecificIntegerValue.
 proguard.optimize.evaluation.value.Category1Value category1Value()
          Returns this Value as a Category1Value.
 int computationalType()
          Returns the computational type of this Value.
 IntegerValue convertToByte()
          Converts this IntegerValue to a byte IntegerValue.
 IntegerValue convertToCharacter()
          Converts this IntegerValue to a character IntegerValue.
 DoubleValue convertToDouble()
          Converts this IntegerValue to a DoubleValue.
 FloatValue convertToFloat()
          Converts this IntegerValue to a FloatValue.
 LongValue convertToLong()
          Converts this IntegerValue to a LongValue.
 IntegerValue convertToShort()
          Converts this IntegerValue to a short IntegerValue.
 IntegerValue divide(IntegerValue other)
          Returns the quotient of this IntegerValue and the given IntegerValue.
 IntegerValue divide(proguard.optimize.evaluation.value.SpecificIntegerValue other)
          Returns the quotient of this IntegerValue and the given SpecificIntegerValue.
 IntegerValue divideOf(IntegerValue other)
          Returns the quotient of the given IntegerValue and this IntegerValue.
 IntegerValue divideOf(proguard.optimize.evaluation.value.SpecificIntegerValue other)
          Returns the quotient of the given SpecificIntegerValue and this IntegerValue.
 int equal(IntegerValue other)
          Returns whether this IntegerValue and the given IntegerValue are equal: NEVER, MAYBE, or ALWAYS.
 int equal(proguard.optimize.evaluation.value.SpecificIntegerValue other)
          Returns whether this IntegerValue and the given SpecificIntegerValue are equal: NEVER, MAYBE, or ALWAYS.
 boolean equals(Object object)
           
 IntegerValue generalize(IntegerValue other)
          Returns the generalization of this IntegerValue and the given other IntegerValue.
 IntegerValue generalize(proguard.optimize.evaluation.value.SpecificIntegerValue other)
          Returns the generalization of this IntegerValue and the given other SpecificIntegerValue.
 Value generalize(Value other)
          Returns the generalization of this Value and the given other Value.
 int greaterThan(IntegerValue other)
          Returns whether this IntegerValue is greater than the given IntegerValue: NEVER, MAYBE, or ALWAYS.
 int greaterThan(proguard.optimize.evaluation.value.SpecificIntegerValue other)
          Returns whether this IntegerValue is greater than the given SpecificIntegerValue: NEVER, MAYBE, or ALWAYS.
 int greaterThanOrEqual(IntegerValue other)
          Returns whether this IntegerValue is greater than or equal to the given IntegerValue: NEVER, MAYBE, or ALWAYS.
 int greaterThanOrEqual(proguard.optimize.evaluation.value.SpecificIntegerValue other)
          Returns whether this IntegerValue is greater than or equal to the given SpecificIntegerValue: NEVER, MAYBE, or ALWAYS.
 int hashCode()
           
 IntegerValue integerValue()
          Returns this Value as an IntegerValue.
 boolean isCategory2()
          Returns whether the computational type of this Value is a category 2 type.
 int lessThan(IntegerValue other)
          Returns whether this IntegerValue is less than the given IntegerValue: NEVER, MAYBE, or ALWAYS.
 int lessThan(proguard.optimize.evaluation.value.SpecificIntegerValue other)
          Returns whether this IntegerValue is less than the given SpecificIntegerValue: NEVER, MAYBE, or ALWAYS.
 int lessThanOrEqual(IntegerValue other)
          Returns whether this IntegerValue is less than or equal to the given IntegerValue: NEVER, MAYBE, or ALWAYS.
 int lessThanOrEqual(proguard.optimize.evaluation.value.SpecificIntegerValue other)
          Returns whether this IntegerValue is less than or equal to the given SpecificIntegerValue: NEVER, MAYBE, or ALWAYS.
 IntegerValue multiply(IntegerValue other)
          Returns the product of this IntegerValue and the given IntegerValue.
 IntegerValue multiply(proguard.optimize.evaluation.value.SpecificIntegerValue other)
          Returns the product of this IntegerValue and the given SpecificIntegerValue.
 IntegerValue negate()
          Returns the negated value of this IntegerValue.
 int notEqual(IntegerValue other)
          Returns whether this IntegerValue and the given IntegerValue are different: NEVER, MAYBE, or ALWAYS.
 int notEqual(proguard.optimize.evaluation.value.SpecificIntegerValue other)
          Returns whether this IntegerValue and the given SpecificIntegerValue are different: NEVER, MAYBE, or ALWAYS.
 IntegerValue or(IntegerValue other)
          Returns the logical or of this IntegerValue and the given IntegerValue.
 IntegerValue or(proguard.optimize.evaluation.value.SpecificIntegerValue other)
          Returns the logical or of this IntegerValue and the given SpecificIntegerValue.
 IntegerValue remainder(IntegerValue other)
          Returns the remainder of this IntegerValue divided by the given IntegerValue.
 IntegerValue remainder(proguard.optimize.evaluation.value.SpecificIntegerValue other)
          Returns the remainder of this IntegerValue divided by the given SpecificIntegerValue.
 IntegerValue remainderOf(IntegerValue other)
          Returns the remainder of the given IntegerValue divided by this IntegerValue.
 IntegerValue remainderOf(proguard.optimize.evaluation.value.SpecificIntegerValue other)
          Returns the remainder of the given SpecificIntegerValue divided by this IntegerValue.
 IntegerValue shiftLeft(IntegerValue other)
          Returns this IntegerValue, shifted left by the given IntegerValue.
 IntegerValue shiftLeft(proguard.optimize.evaluation.value.SpecificIntegerValue other)
          Returns this IntegerValue, shifted left by the given SpecificIntegerValue.
 IntegerValue shiftLeftOf(IntegerValue other)
          Returns the given IntegerValue, shifted left by this IntegerValue.
 LongValue shiftLeftOf(LongValue other)
          Returns the given LongValue, shifted left by this IntegerValue.
 IntegerValue shiftLeftOf(proguard.optimize.evaluation.value.SpecificIntegerValue other)
          Returns the given SpecificIntegerValue, shifted left by this IntegerValue.
 LongValue shiftLeftOf(proguard.optimize.evaluation.value.SpecificLongValue other)
          Returns the given SpecificLongValue, shifted left by this IntegerValue.
 IntegerValue shiftRight(IntegerValue other)
          Returns this IntegerValue, shifted right by the given IntegerValue.
 IntegerValue shiftRight(proguard.optimize.evaluation.value.SpecificIntegerValue other)
          Returns this IntegerValue, shifted right by the given SpecificIntegerValue.
 IntegerValue shiftRightOf(IntegerValue other)
          Returns the given IntegerValue, shifted right by this IntegerValue.
 LongValue shiftRightOf(LongValue other)
          Returns the given LongValue, shifted right by this IntegerValue.
 IntegerValue shiftRightOf(proguard.optimize.evaluation.value.SpecificIntegerValue other)
          Returns the given SpecificIntegerValue, shifted right by this IntegerValue.
 LongValue shiftRightOf(proguard.optimize.evaluation.value.SpecificLongValue other)
          Returns the given SpecificLongValue, shifted right by this IntegerValue.
 IntegerValue subtract(IntegerValue other)
          Returns the difference of this IntegerValue and the given IntegerValue.
 IntegerValue subtract(proguard.optimize.evaluation.value.SpecificIntegerValue other)
          Returns the difference of this IntegerValue and the given SpecificIntegerValue.
 IntegerValue subtractFrom(IntegerValue other)
          Returns the difference of the given IntegerValue and this IntegerValue.
 IntegerValue subtractFrom(proguard.optimize.evaluation.value.SpecificIntegerValue other)
          Returns the difference of the given SpecificIntegerValue and this IntegerValue.
 String toString()
           
 IntegerValue unsignedShiftRight(IntegerValue other)
          Returns this unsigned IntegerValue, shifted left by the given IntegerValue.
 IntegerValue unsignedShiftRight(proguard.optimize.evaluation.value.SpecificIntegerValue other)
          Returns this unsigned IntegerValue, shifted right by the given SpecificIntegerValue.
 IntegerValue unsignedShiftRightOf(IntegerValue other)
          Returns the given unsigned IntegerValue, shifted left by this IntegerValue.
 LongValue unsignedShiftRightOf(LongValue other)
          Returns the given unsigned LongValue, shifted right by this IntegerValue.
 IntegerValue unsignedShiftRightOf(proguard.optimize.evaluation.value.SpecificIntegerValue other)
          Returns the given unsigned SpecificIntegerValue, shifted right by this IntegerValue.
 LongValue unsignedShiftRightOf(proguard.optimize.evaluation.value.SpecificLongValue other)
          Returns the given unsigned SpecificLongValue, shifted right by this IntegerValue.
 int value()
          Returns the specific integer value, if applicable.
 IntegerValue xor(IntegerValue other)
          Returns the logical xor of this IntegerValue and the given IntegerValue.
 IntegerValue xor(proguard.optimize.evaluation.value.SpecificIntegerValue other)
          Returns the logical xor of this IntegerValue and the given SpecificIntegerValue.
 
Methods inherited from class proguard.optimize.evaluation.value.Value
category2Value, doubleValue, floatValue, instructionOffsetValue, isSpecific, longValue, referenceValue
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

IntegerValue

public IntegerValue()
Method Detail

value

public int value()
Returns the specific integer value, if applicable.


generalize

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


add

public IntegerValue add(IntegerValue other)
Returns the sum of this IntegerValue and the given IntegerValue.


subtract

public IntegerValue subtract(IntegerValue other)
Returns the difference of this IntegerValue and the given IntegerValue.


subtractFrom

public IntegerValue subtractFrom(IntegerValue other)
Returns the difference of the given IntegerValue and this IntegerValue.


multiply

public IntegerValue multiply(IntegerValue other)
                      throws ArithmeticException
Returns the product of this IntegerValue and the given IntegerValue.

Throws:
ArithmeticException

divide

public IntegerValue divide(IntegerValue other)
                    throws ArithmeticException
Returns the quotient of this IntegerValue and the given IntegerValue.

Throws:
ArithmeticException

divideOf

public IntegerValue divideOf(IntegerValue other)
                      throws ArithmeticException
Returns the quotient of the given IntegerValue and this IntegerValue.

Throws:
ArithmeticException

remainder

public IntegerValue remainder(IntegerValue other)
                       throws ArithmeticException
Returns the remainder of this IntegerValue divided by the given IntegerValue.

Throws:
ArithmeticException

remainderOf

public IntegerValue remainderOf(IntegerValue other)
                         throws ArithmeticException
Returns the remainder of the given IntegerValue divided by this IntegerValue.

Throws:
ArithmeticException

shiftLeft

public IntegerValue shiftLeft(IntegerValue other)
Returns this IntegerValue, shifted left by the given IntegerValue.


shiftLeftOf

public IntegerValue shiftLeftOf(IntegerValue other)
Returns the given IntegerValue, shifted left by this IntegerValue.


shiftRight

public IntegerValue shiftRight(IntegerValue other)
Returns this IntegerValue, shifted right by the given IntegerValue.


shiftRightOf

public IntegerValue shiftRightOf(IntegerValue other)
Returns the given IntegerValue, shifted right by this IntegerValue.


unsignedShiftRight

public IntegerValue unsignedShiftRight(IntegerValue other)
Returns this unsigned IntegerValue, shifted left by the given IntegerValue.


unsignedShiftRightOf

public IntegerValue unsignedShiftRightOf(IntegerValue other)
Returns the given unsigned IntegerValue, shifted left by this IntegerValue.


shiftLeftOf

public LongValue shiftLeftOf(LongValue other)
Returns the given LongValue, shifted left by this IntegerValue.


shiftRightOf

public LongValue shiftRightOf(LongValue other)
Returns the given LongValue, shifted right by this IntegerValue.


unsignedShiftRightOf

public LongValue unsignedShiftRightOf(LongValue other)
Returns the given unsigned LongValue, shifted right by this IntegerValue.


and

public IntegerValue and(IntegerValue other)
Returns the logical and of this IntegerValue and the given IntegerValue.


or

public IntegerValue or(IntegerValue other)
Returns the logical or of this IntegerValue and the given IntegerValue.


xor

public IntegerValue xor(IntegerValue other)
Returns the logical xor of this IntegerValue and the given IntegerValue.


equal

public int equal(IntegerValue other)
Returns whether this IntegerValue and the given IntegerValue are equal: NEVER, MAYBE, or ALWAYS.


lessThan

public int lessThan(IntegerValue other)
Returns whether this IntegerValue is less than the given IntegerValue: NEVER, MAYBE, or ALWAYS.


lessThanOrEqual

public int lessThanOrEqual(IntegerValue other)
Returns whether this IntegerValue is less than or equal to the given IntegerValue: NEVER, MAYBE, or ALWAYS.


notEqual

public final int notEqual(IntegerValue other)
Returns whether this IntegerValue and the given IntegerValue are different: NEVER, MAYBE, or ALWAYS.


greaterThan

public final int greaterThan(IntegerValue other)
Returns whether this IntegerValue is greater than the given IntegerValue: NEVER, MAYBE, or ALWAYS.


greaterThanOrEqual

public final int greaterThanOrEqual(IntegerValue other)
Returns whether this IntegerValue is greater than or equal to the given IntegerValue: NEVER, MAYBE, or ALWAYS.


negate

public IntegerValue negate()
Returns the negated value of this IntegerValue.


convertToByte

public IntegerValue convertToByte()
Converts this IntegerValue to a byte IntegerValue.


convertToCharacter

public IntegerValue convertToCharacter()
Converts this IntegerValue to a character IntegerValue.


convertToShort

public IntegerValue convertToShort()
Converts this IntegerValue to a short IntegerValue.


convertToLong

public LongValue convertToLong()
Converts this IntegerValue to a LongValue.


convertToFloat

public FloatValue convertToFloat()
Converts this IntegerValue to a FloatValue.


convertToDouble

public DoubleValue convertToDouble()
Converts this IntegerValue to a DoubleValue.


generalize

public IntegerValue generalize(proguard.optimize.evaluation.value.SpecificIntegerValue other)
Returns the generalization of this IntegerValue and the given other SpecificIntegerValue.


add

public IntegerValue add(proguard.optimize.evaluation.value.SpecificIntegerValue other)
Returns the sum of this IntegerValue and the given SpecificIntegerValue.


subtract

public IntegerValue subtract(proguard.optimize.evaluation.value.SpecificIntegerValue other)
Returns the difference of this IntegerValue and the given SpecificIntegerValue.


subtractFrom

public IntegerValue subtractFrom(proguard.optimize.evaluation.value.SpecificIntegerValue other)
Returns the difference of the given SpecificIntegerValue and this IntegerValue.


multiply

public IntegerValue multiply(proguard.optimize.evaluation.value.SpecificIntegerValue other)
Returns the product of this IntegerValue and the given SpecificIntegerValue.


divide

public IntegerValue divide(proguard.optimize.evaluation.value.SpecificIntegerValue other)
Returns the quotient of this IntegerValue and the given SpecificIntegerValue.


divideOf

public IntegerValue divideOf(proguard.optimize.evaluation.value.SpecificIntegerValue other)
Returns the quotient of the given SpecificIntegerValue and this IntegerValue.


remainder

public IntegerValue remainder(proguard.optimize.evaluation.value.SpecificIntegerValue other)
Returns the remainder of this IntegerValue divided by the given SpecificIntegerValue.


remainderOf

public IntegerValue remainderOf(proguard.optimize.evaluation.value.SpecificIntegerValue other)
Returns the remainder of the given SpecificIntegerValue divided by this IntegerValue.


shiftLeft

public IntegerValue shiftLeft(proguard.optimize.evaluation.value.SpecificIntegerValue other)
Returns this IntegerValue, shifted left by the given SpecificIntegerValue.


shiftLeftOf

public IntegerValue shiftLeftOf(proguard.optimize.evaluation.value.SpecificIntegerValue other)
Returns the given SpecificIntegerValue, shifted left by this IntegerValue.


shiftRight

public IntegerValue shiftRight(proguard.optimize.evaluation.value.SpecificIntegerValue other)
Returns this IntegerValue, shifted right by the given SpecificIntegerValue.


shiftRightOf

public IntegerValue shiftRightOf(proguard.optimize.evaluation.value.SpecificIntegerValue other)
Returns the given SpecificIntegerValue, shifted right by this IntegerValue.


unsignedShiftRight

public IntegerValue unsignedShiftRight(proguard.optimize.evaluation.value.SpecificIntegerValue other)
Returns this unsigned IntegerValue, shifted right by the given SpecificIntegerValue.


unsignedShiftRightOf

public IntegerValue unsignedShiftRightOf(proguard.optimize.evaluation.value.SpecificIntegerValue other)
Returns the given unsigned SpecificIntegerValue, shifted right by this IntegerValue.


shiftLeftOf

public LongValue shiftLeftOf(proguard.optimize.evaluation.value.SpecificLongValue other)
Returns the given SpecificLongValue, shifted left by this IntegerValue.


shiftRightOf

public LongValue shiftRightOf(proguard.optimize.evaluation.value.SpecificLongValue other)
Returns the given SpecificLongValue, shifted right by this IntegerValue.


unsignedShiftRightOf

public LongValue unsignedShiftRightOf(proguard.optimize.evaluation.value.SpecificLongValue other)
Returns the given unsigned SpecificLongValue, shifted right by this IntegerValue.


and

public IntegerValue and(proguard.optimize.evaluation.value.SpecificIntegerValue other)
Returns the logical and of this IntegerValue and the given SpecificIntegerValue.


or

public IntegerValue or(proguard.optimize.evaluation.value.SpecificIntegerValue other)
Returns the logical or of this IntegerValue and the given SpecificIntegerValue.


xor

public IntegerValue xor(proguard.optimize.evaluation.value.SpecificIntegerValue other)
Returns the logical xor of this IntegerValue and the given SpecificIntegerValue.


equal

public int equal(proguard.optimize.evaluation.value.SpecificIntegerValue other)
Returns whether this IntegerValue and the given SpecificIntegerValue are equal: NEVER, MAYBE, or ALWAYS.


lessThan

public int lessThan(proguard.optimize.evaluation.value.SpecificIntegerValue other)
Returns whether this IntegerValue is less than the given SpecificIntegerValue: NEVER, MAYBE, or ALWAYS.


lessThanOrEqual

public int lessThanOrEqual(proguard.optimize.evaluation.value.SpecificIntegerValue other)
Returns whether this IntegerValue is less than or equal to the given SpecificIntegerValue: NEVER, MAYBE, or ALWAYS.


notEqual

public final int notEqual(proguard.optimize.evaluation.value.SpecificIntegerValue other)
Returns whether this IntegerValue and the given SpecificIntegerValue are different: NEVER, MAYBE, or ALWAYS.


greaterThan

public final int greaterThan(proguard.optimize.evaluation.value.SpecificIntegerValue other)
Returns whether this IntegerValue is greater than the given SpecificIntegerValue: NEVER, MAYBE, or ALWAYS.


greaterThanOrEqual

public final int greaterThanOrEqual(proguard.optimize.evaluation.value.SpecificIntegerValue other)
Returns whether this IntegerValue is greater than or equal to the given SpecificIntegerValue: NEVER, MAYBE, or ALWAYS.


integerValue

public final IntegerValue integerValue()
Description copied from class: Value
Returns this Value as an IntegerValue.

Overrides:
integerValue in class Value

generalize

public final Value generalize(Value other)
Description copied from class: Value
Returns the generalization of this Value and the given other Value.

Specified by:
generalize in class Value

computationalType

public final int computationalType()
Description copied from class: Value
Returns the computational type of this Value. The type is one of

Specified by:
computationalType in class Value

equals

public boolean equals(Object object)

hashCode

public int hashCode()

toString

public String toString()

category1Value

public final proguard.optimize.evaluation.value.Category1Value category1Value()
Description copied from class: Value
Returns this Value as a Category1Value.

Overrides:
category1Value in class Value

isCategory2

public final boolean isCategory2()
Description copied from class: Value
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.

Specified by:
isCategory2 in class Value

ProGuard