Package proguard.evaluation.value
Class LongValue
- java.lang.Object
-
- proguard.evaluation.value.Value
-
- proguard.evaluation.value.Category2Value
-
- proguard.evaluation.value.LongValue
-
- Direct Known Subclasses:
SpecificLongValue,UnknownLongValue
public abstract class LongValue extends Category2Value
Representation of a partially evaluated long value.
-
-
Field Summary
-
Fields inherited from class proguard.evaluation.value.Value
ALWAYS, MAYBE, NEVER, TYPE_DOUBLE, TYPE_FLOAT, TYPE_INSTRUCTION_OFFSET, TYPE_INTEGER, TYPE_LONG, TYPE_REFERENCE, TYPE_TOP, TYPE_UNKNOWN
-
-
Constructor Summary
Constructors Constructor Description LongValue()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description LongValueadd(LongValue other)Returns the sum of this LongValue and the given LongValue.LongValueadd(ParticularLongValue other)Returns the sum of this LongValue and the given ParticularLongValue.LongValueadd(SpecificLongValue other)Returns the sum of this LongValue and the given SpecificLongValue.LongValueand(LongValue other)Returns the logical and of this LongValue and the given LongValue.LongValueand(ParticularLongValue other)Returns the logical and of this LongValue and the given ParticularLongValue.LongValueand(SpecificLongValue other)Returns the logical and of this LongValue and the given SpecificLongValue.IntegerValuecompare(LongValue other)Returns an IntegerValue with value -1, 0, or 1, if this LongValue is less than, equal to, or greater than the given LongValue, respectively.IntegerValuecompare(ParticularLongValue other)Returns an IntegerValue with value -1, 0, or 1, if this LongValue is less than, equal to, or greater than the given ParticularLongValue, respectively.IntegerValuecompare(SpecificLongValue other)Returns an IntegerValue with value -1, 0, or 1, if this LongValue is less than, equal to, or greater than the given SpecificLongValue, respectively.IntegerValuecompareReverse(LongValue other)Returns an IntegerValue with value 1, 0, or -1, if this LongValue is less than, equal to, or greater than the given LongValue, respectively.IntegerValuecompareReverse(ParticularLongValue other)Returns an IntegerValue with value 1, 0, or -1, if this LongValue is less than, equal to, or greater than the given ParticularLongValue, respectively.IntegerValuecompareReverse(SpecificLongValue other)Returns an IntegerValue with value 1, 0, or -1, if this LongValue is less than, equal to, or greater than the given SpecificLongValue, respectively.intcomputationalType()Returns the computational type of this Value.abstract DoubleValueconvertToDouble()Converts this LongValue to a DoubleValue.abstract FloatValueconvertToFloat()Converts this LongValue to a FloatValue.abstract IntegerValueconvertToInteger()Converts this LongValue to an IntegerValue.LongValuedivide(LongValue other)Returns the quotient of this LongValue and the given LongValue.LongValuedivide(ParticularLongValue other)Returns the quotient of this LongValue and the given ParticularLongValue.LongValuedivide(SpecificLongValue other)Returns the quotient of this LongValue and the given SpecificLongValue.LongValuedivideOf(LongValue other)Returns the quotient of the given LongValue and this LongValue.LongValuedivideOf(ParticularLongValue other)Returns the quotient of the given ParticularLongValue and this LongValue.LongValuedivideOf(SpecificLongValue other)Returns the quotient of the given SpecificLongValue and this LongValue.LongValuegeneralize(LongValue other)Returns the generalization of this LongValue and the given other LongValue.LongValuegeneralize(ParticularLongValue other)Returns the generalization of this LongValue and the given other ParticularLongValue.LongValuegeneralize(SpecificLongValue other)Returns the generalization of this LongValue and the given other SpecificLongValue.Valuegeneralize(Value other)Returns the generalization of this Value and the given other Value.java.lang.StringinternalType()Returns the internal type of this Value.LongValuelongValue()Returns this Value as a LongValue.LongValuemultiply(LongValue other)Returns the product of this LongValue and the given LongValue.LongValuemultiply(ParticularLongValue other)Returns the product of this LongValue and the given ParticularLongValue.LongValuemultiply(SpecificLongValue other)Returns the product of this LongValue and the given SpecificLongValue.abstract LongValuenegate()Returns the negated value of this LongValue.LongValueor(LongValue other)Returns the logical or of this LongValue and the given LongValue.LongValueor(ParticularLongValue other)Returns the logical or of this LongValue and the given ParticularLongValue.LongValueor(SpecificLongValue other)Returns the logical or of this LongValue and the given SpecificLongValue.LongValueremainder(LongValue other)Returns the remainder of this LongValue divided by the given LongValue.LongValueremainder(ParticularLongValue other)Returns the remainder of this LongValue divided by the given ParticularLongValue.LongValueremainder(SpecificLongValue other)Returns the remainder of this LongValue divided by the given SpecificLongValue.LongValueremainderOf(LongValue other)Returns the remainder of the given LongValue divided by this LongValue.LongValueremainderOf(ParticularLongValue other)Returns the remainder of the given ParticularLongValue divided by this LongValue.LongValueremainderOf(SpecificLongValue other)Returns the remainder of the given SpecificLongValue divided by this LongValue.LongValueshiftLeft(IntegerValue other)Returns this LongValue, shifted left by the given IntegerValue.LongValueshiftLeft(ParticularIntegerValue other)Returns this LongValue, shifted left by the given ParticularIntegerValue.LongValueshiftLeft(SpecificLongValue other)Returns this LongValue, shifted left by the given SpecificLongValue.LongValueshiftRight(IntegerValue other)Returns this LongValue, shifted right by the given IntegerValue.LongValueshiftRight(ParticularIntegerValue other)Returns this LongValue, shifted right by the given ParticularIntegerValue.LongValueshiftRight(SpecificLongValue other)Returns this LongValue, shifted right by the given SpecificLongValue.LongValuesubtract(LongValue other)Returns the difference of this LongValue and the given LongValue.LongValuesubtract(ParticularLongValue other)Returns the difference of this LongValue and the given ParticularLongValue.LongValuesubtract(SpecificLongValue other)Returns the difference of this LongValue and the given SpecificLongValue.LongValuesubtractFrom(LongValue other)Returns the difference of the given LongValue and this LongValue.LongValuesubtractFrom(ParticularLongValue other)Returns the difference of the given ParticularLongValue and this LongValue.LongValuesubtractFrom(SpecificLongValue other)Returns the difference of the given SpecificLongValue and this LongValue.LongValueunsignedShiftRight(IntegerValue other)Returns this unsigned LongValue, shifted left by the given IntegerValue.LongValueunsignedShiftRight(ParticularIntegerValue other)Returns this unsigned LongValue, shifted right by the given ParticularIntegerValue.LongValueunsignedShiftRight(SpecificLongValue other)Returns this unsigned LongValue, shifted right by the given SpecificLongValue.longvalue()Returns the specific long value, if applicable.LongValuexor(LongValue other)Returns the logical xor of this LongValue and the given LongValue.LongValuexor(ParticularLongValue other)Returns the logical xor of this LongValue and the given ParticularLongValue.LongValuexor(SpecificLongValue other)Returns the logical xor of this LongValue and the given SpecificLongValue.-
Methods inherited from class proguard.evaluation.value.Category2Value
category2Value, isCategory2
-
Methods inherited from class proguard.evaluation.value.Value
category1Value, copyIfMutable, doubleValue, floatValue, instructionOffsetValue, integerValue, isParticular, isSpecific, referenceValue
-
-
-
-
Method Detail
-
value
public long value()
Returns the specific long value, if applicable.
-
negate
public abstract LongValue negate()
Returns the negated value of this LongValue.
-
convertToInteger
public abstract IntegerValue convertToInteger()
Converts this LongValue to an IntegerValue.
-
convertToFloat
public abstract FloatValue convertToFloat()
Converts this LongValue to a FloatValue.
-
convertToDouble
public abstract DoubleValue convertToDouble()
Converts this LongValue to a DoubleValue.
-
generalize
public LongValue generalize(LongValue other)
Returns the generalization of this LongValue and the given other LongValue.
-
add
public LongValue add(LongValue other)
Returns the sum of this LongValue and the given LongValue.
-
subtract
public LongValue subtract(LongValue other)
Returns the difference of this LongValue and the given LongValue.
-
subtractFrom
public LongValue subtractFrom(LongValue other)
Returns the difference of the given LongValue and this LongValue.
-
multiply
public LongValue multiply(LongValue other) throws java.lang.ArithmeticException
Returns the product of this LongValue and the given LongValue.- Throws:
java.lang.ArithmeticException
-
divide
public LongValue divide(LongValue other) throws java.lang.ArithmeticException
Returns the quotient of this LongValue and the given LongValue.- Throws:
java.lang.ArithmeticException
-
divideOf
public LongValue divideOf(LongValue other) throws java.lang.ArithmeticException
Returns the quotient of the given LongValue and this LongValue.- Throws:
java.lang.ArithmeticException
-
remainder
public LongValue remainder(LongValue other) throws java.lang.ArithmeticException
Returns the remainder of this LongValue divided by the given LongValue.- Throws:
java.lang.ArithmeticException
-
remainderOf
public LongValue remainderOf(LongValue other) throws java.lang.ArithmeticException
Returns the remainder of the given LongValue divided by this LongValue.- Throws:
java.lang.ArithmeticException
-
shiftLeft
public LongValue shiftLeft(IntegerValue other)
Returns this LongValue, shifted left by the given IntegerValue.
-
shiftRight
public LongValue shiftRight(IntegerValue other)
Returns this LongValue, shifted right by the given IntegerValue.
-
unsignedShiftRight
public LongValue unsignedShiftRight(IntegerValue other)
Returns this unsigned LongValue, shifted left by the given IntegerValue.
-
and
public LongValue and(LongValue other)
Returns the logical and of this LongValue and the given LongValue.
-
or
public LongValue or(LongValue other)
Returns the logical or of this LongValue and the given LongValue.
-
xor
public LongValue xor(LongValue other)
Returns the logical xor of this LongValue and the given LongValue.
-
compare
public IntegerValue compare(LongValue other)
Returns an IntegerValue with value -1, 0, or 1, if this LongValue is less than, equal to, or greater than the given LongValue, respectively.
-
compareReverse
public final IntegerValue compareReverse(LongValue other)
Returns an IntegerValue with value 1, 0, or -1, if this LongValue is less than, equal to, or greater than the given LongValue, respectively.
-
generalize
public LongValue generalize(SpecificLongValue other)
Returns the generalization of this LongValue and the given other SpecificLongValue.
-
add
public LongValue add(SpecificLongValue other)
Returns the sum of this LongValue and the given SpecificLongValue.
-
subtract
public LongValue subtract(SpecificLongValue other)
Returns the difference of this LongValue and the given SpecificLongValue.
-
subtractFrom
public LongValue subtractFrom(SpecificLongValue other)
Returns the difference of the given SpecificLongValue and this LongValue.
-
multiply
public LongValue multiply(SpecificLongValue other)
Returns the product of this LongValue and the given SpecificLongValue.
-
divide
public LongValue divide(SpecificLongValue other)
Returns the quotient of this LongValue and the given SpecificLongValue.
-
divideOf
public LongValue divideOf(SpecificLongValue other)
Returns the quotient of the given SpecificLongValue and this LongValue.
-
remainder
public LongValue remainder(SpecificLongValue other)
Returns the remainder of this LongValue divided by the given SpecificLongValue.
-
remainderOf
public LongValue remainderOf(SpecificLongValue other)
Returns the remainder of the given SpecificLongValue divided by this LongValue.
-
shiftLeft
public LongValue shiftLeft(SpecificLongValue other)
Returns this LongValue, shifted left by the given SpecificLongValue.
-
shiftRight
public LongValue shiftRight(SpecificLongValue other)
Returns this LongValue, shifted right by the given SpecificLongValue.
-
unsignedShiftRight
public LongValue unsignedShiftRight(SpecificLongValue other)
Returns this unsigned LongValue, shifted right by the given SpecificLongValue.
-
and
public LongValue and(SpecificLongValue other)
Returns the logical and of this LongValue and the given SpecificLongValue.
-
or
public LongValue or(SpecificLongValue other)
Returns the logical or of this LongValue and the given SpecificLongValue.
-
xor
public LongValue xor(SpecificLongValue other)
Returns the logical xor of this LongValue and the given SpecificLongValue.
-
compare
public IntegerValue compare(SpecificLongValue other)
Returns an IntegerValue with value -1, 0, or 1, if this LongValue is less than, equal to, or greater than the given SpecificLongValue, respectively.
-
compareReverse
public final IntegerValue compareReverse(SpecificLongValue other)
Returns an IntegerValue with value 1, 0, or -1, if this LongValue is less than, equal to, or greater than the given SpecificLongValue, respectively.
-
generalize
public LongValue generalize(ParticularLongValue other)
Returns the generalization of this LongValue and the given other ParticularLongValue.
-
add
public LongValue add(ParticularLongValue other)
Returns the sum of this LongValue and the given ParticularLongValue.
-
subtract
public LongValue subtract(ParticularLongValue other)
Returns the difference of this LongValue and the given ParticularLongValue.
-
subtractFrom
public LongValue subtractFrom(ParticularLongValue other)
Returns the difference of the given ParticularLongValue and this LongValue.
-
multiply
public LongValue multiply(ParticularLongValue other)
Returns the product of this LongValue and the given ParticularLongValue.
-
divide
public LongValue divide(ParticularLongValue other)
Returns the quotient of this LongValue and the given ParticularLongValue.
-
divideOf
public LongValue divideOf(ParticularLongValue other)
Returns the quotient of the given ParticularLongValue and this LongValue.
-
remainder
public LongValue remainder(ParticularLongValue other)
Returns the remainder of this LongValue divided by the given ParticularLongValue.
-
remainderOf
public LongValue remainderOf(ParticularLongValue other)
Returns the remainder of the given ParticularLongValue divided by this LongValue.
-
shiftLeft
public LongValue shiftLeft(ParticularIntegerValue other)
Returns this LongValue, shifted left by the given ParticularIntegerValue.
-
shiftRight
public LongValue shiftRight(ParticularIntegerValue other)
Returns this LongValue, shifted right by the given ParticularIntegerValue.
-
unsignedShiftRight
public LongValue unsignedShiftRight(ParticularIntegerValue other)
Returns this unsigned LongValue, shifted right by the given ParticularIntegerValue.
-
and
public LongValue and(ParticularLongValue other)
Returns the logical and of this LongValue and the given ParticularLongValue.
-
or
public LongValue or(ParticularLongValue other)
Returns the logical or of this LongValue and the given ParticularLongValue.
-
xor
public LongValue xor(ParticularLongValue other)
Returns the logical xor of this LongValue and the given ParticularLongValue.
-
compare
public IntegerValue compare(ParticularLongValue other)
Returns an IntegerValue with value -1, 0, or 1, if this LongValue is less than, equal to, or greater than the given ParticularLongValue, respectively.
-
compareReverse
public final IntegerValue compareReverse(ParticularLongValue other)
Returns an IntegerValue with value 1, 0, or -1, if this LongValue is less than, equal to, or greater than the given ParticularLongValue, respectively.
-
longValue
public final LongValue longValue()
Description copied from class:ValueReturns this Value as a LongValue.
-
generalize
public final Value generalize(Value other)
Description copied from class:ValueReturns the generalization of this Value and the given other Value.- Specified by:
generalizein classValue
-
computationalType
public final int computationalType()
Description copied from class:ValueReturns the computational type of this Value.- Specified by:
computationalTypein classValue- Returns:
TYPE_INTEGER,TYPE_LONG,TYPE_FLOAT,TYPE_DOUBLE,TYPE_REFERENCE, orTYPE_INSTRUCTION_OFFSET.
-
internalType
public final java.lang.String internalType()
Description copied from class:ValueReturns the internal type of this Value.- Specified by:
internalTypein classValue- Returns:
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).
-
-