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 LongValue
add(LongValue other)
Returns the sum of this LongValue and the given LongValue.LongValue
add(ParticularLongValue other)
Returns the sum of this LongValue and the given ParticularLongValue.LongValue
add(SpecificLongValue other)
Returns the sum of this LongValue and the given SpecificLongValue.LongValue
and(LongValue other)
Returns the logical and of this LongValue and the given LongValue.LongValue
and(ParticularLongValue other)
Returns the logical and of this LongValue and the given ParticularLongValue.LongValue
and(SpecificLongValue other)
Returns the logical and of this LongValue and the given SpecificLongValue.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.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.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.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.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.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.int
computationalType()
Returns the computational type of this Value.abstract DoubleValue
convertToDouble()
Converts this LongValue to a DoubleValue.abstract FloatValue
convertToFloat()
Converts this LongValue to a FloatValue.abstract IntegerValue
convertToInteger()
Converts this LongValue to an IntegerValue.LongValue
divide(LongValue other)
Returns the quotient of this LongValue and the given LongValue.LongValue
divide(ParticularLongValue other)
Returns the quotient of this LongValue and the given ParticularLongValue.LongValue
divide(SpecificLongValue other)
Returns the quotient of this LongValue and the given SpecificLongValue.LongValue
divideOf(LongValue other)
Returns the quotient of the given LongValue and this LongValue.LongValue
divideOf(ParticularLongValue other)
Returns the quotient of the given ParticularLongValue and this LongValue.LongValue
divideOf(SpecificLongValue other)
Returns the quotient of the given SpecificLongValue and this LongValue.LongValue
generalize(LongValue other)
Returns the generalization of this LongValue and the given other LongValue.LongValue
generalize(ParticularLongValue other)
Returns the generalization of this LongValue and the given other ParticularLongValue.LongValue
generalize(SpecificLongValue other)
Returns the generalization of this LongValue and the given other SpecificLongValue.Value
generalize(Value other)
Returns the generalization of this Value and the given other Value.java.lang.String
internalType()
Returns the internal type of this Value.LongValue
longValue()
Returns this Value as a LongValue.LongValue
multiply(LongValue other)
Returns the product of this LongValue and the given LongValue.LongValue
multiply(ParticularLongValue other)
Returns the product of this LongValue and the given ParticularLongValue.LongValue
multiply(SpecificLongValue other)
Returns the product of this LongValue and the given SpecificLongValue.abstract LongValue
negate()
Returns the negated value of this LongValue.LongValue
or(LongValue other)
Returns the logical or of this LongValue and the given LongValue.LongValue
or(ParticularLongValue other)
Returns the logical or of this LongValue and the given ParticularLongValue.LongValue
or(SpecificLongValue other)
Returns the logical or of this LongValue and the given SpecificLongValue.LongValue
remainder(LongValue other)
Returns the remainder of this LongValue divided by the given LongValue.LongValue
remainder(ParticularLongValue other)
Returns the remainder of this LongValue divided by the given ParticularLongValue.LongValue
remainder(SpecificLongValue other)
Returns the remainder of this LongValue divided by the given SpecificLongValue.LongValue
remainderOf(LongValue other)
Returns the remainder of the given LongValue divided by this LongValue.LongValue
remainderOf(ParticularLongValue other)
Returns the remainder of the given ParticularLongValue divided by this LongValue.LongValue
remainderOf(SpecificLongValue other)
Returns the remainder of the given SpecificLongValue divided by this LongValue.LongValue
shiftLeft(IntegerValue other)
Returns this LongValue, shifted left by the given IntegerValue.LongValue
shiftLeft(ParticularIntegerValue other)
Returns this LongValue, shifted left by the given ParticularIntegerValue.LongValue
shiftLeft(SpecificLongValue other)
Returns this LongValue, shifted left by the given SpecificLongValue.LongValue
shiftRight(IntegerValue other)
Returns this LongValue, shifted right by the given IntegerValue.LongValue
shiftRight(ParticularIntegerValue other)
Returns this LongValue, shifted right by the given ParticularIntegerValue.LongValue
shiftRight(SpecificLongValue other)
Returns this LongValue, shifted right by the given SpecificLongValue.LongValue
subtract(LongValue other)
Returns the difference of this LongValue and the given LongValue.LongValue
subtract(ParticularLongValue other)
Returns the difference of this LongValue and the given ParticularLongValue.LongValue
subtract(SpecificLongValue other)
Returns the difference of this LongValue and the given SpecificLongValue.LongValue
subtractFrom(LongValue other)
Returns the difference of the given LongValue and this LongValue.LongValue
subtractFrom(ParticularLongValue other)
Returns the difference of the given ParticularLongValue and this LongValue.LongValue
subtractFrom(SpecificLongValue other)
Returns the difference of the given SpecificLongValue and this LongValue.LongValue
unsignedShiftRight(IntegerValue other)
Returns this unsigned LongValue, shifted left by the given IntegerValue.LongValue
unsignedShiftRight(ParticularIntegerValue other)
Returns this unsigned LongValue, shifted right by the given ParticularIntegerValue.LongValue
unsignedShiftRight(SpecificLongValue other)
Returns this unsigned LongValue, shifted right by the given SpecificLongValue.long
value()
Returns the specific long value, if applicable.LongValue
xor(LongValue other)
Returns the logical xor of this LongValue and the given LongValue.LongValue
xor(ParticularLongValue other)
Returns the logical xor of this LongValue and the given ParticularLongValue.LongValue
xor(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:Value
Returns this Value as a LongValue.
-
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 classValue
-
computationalType
public final int computationalType()
Description copied from class:Value
Returns the computational type of this Value.- Specified by:
computationalType
in 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:Value
Returns the internal type of this Value.- Specified by:
internalType
in 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).
-
-