Package proguard.evaluation.value
Class RangeValueFactory
java.lang.Object
proguard.evaluation.value.BasicValueFactory
proguard.evaluation.value.ParticularValueFactory
proguard.evaluation.value.BasicRangeValueFactory
proguard.evaluation.value.RangeValueFactory
- All Implemented Interfaces:
ValueFactory
This ValueFactory provides methods to create and reuse IntegerValue instances that have known
ranges.
This implementation creates RangeIntegerValue instances in all IntegerValue factory methods. This way, the RangeIntegerValue instances can generalize further to other RangeIntegerValue instances, even if they start out as known particular values.
-
Field Summary
Fields inherited from class proguard.evaluation.value.ParticularValueFactory
referenceValueFactoryFields inherited from class proguard.evaluation.value.BasicValueFactory
DOUBLE_VALUE, FLOAT_VALUE, INTEGER_VALUE, LONG_VALUE, REFERENCE_VALUE, UNKNOWN_VALUE -
Constructor Summary
ConstructorsConstructorDescriptionCreates a new RangeValueFactory.RangeValueFactory(ValueFactory arrayReferenceValueFactory, ValueFactory referenceValueFactory) Creates a new RangeValueFactory that delegates to the given value factories for creating reference values. -
Method Summary
Modifier and TypeMethodDescriptionCreates a new IntegerValue with an undefined value.createIntegerValue(int value) Creates a new IntegerValue with a given particular value.createIntegerValue(int min, int max) Creates a new IntegerValue with a given possible range.Methods inherited from class proguard.evaluation.value.ParticularValueFactory
createArrayReferenceValue, createArrayReferenceValue, createDoubleValue, createFloatValue, createLongValue, createReferenceValue, createReferenceValue, createReferenceValue, createReferenceValue, createReferenceValue, createReferenceValue, createReferenceValue, createReferenceValue, createReferenceValueForId, createReferenceValueForId, createReferenceValueForId, createReferenceValueNullMethods inherited from class proguard.evaluation.value.BasicValueFactory
checkCreationLocation, checkReferenceValue, createDoubleValue, createFloatValue, createLongValue, createValueMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface proguard.evaluation.value.ValueFactory
createArrayReferenceValue, createArrayReferenceValue, createDoubleValue, createDoubleValue, createFloatValue, createFloatValue, createLongValue, createLongValue, createReferenceValue, createReferenceValue, createReferenceValue, createReferenceValue, createReferenceValue, createReferenceValue, createReferenceValue, createReferenceValue, createReferenceValue, createReferenceValue, createReferenceValue, createReferenceValueForId, createReferenceValueForId, createReferenceValueForId, createReferenceValueNull, createValue
-
Constructor Details
-
RangeValueFactory
public RangeValueFactory()Creates a new RangeValueFactory. -
RangeValueFactory
public RangeValueFactory(ValueFactory arrayReferenceValueFactory, ValueFactory referenceValueFactory) Creates a new RangeValueFactory that delegates to the given value factories for creating reference values.
-
-
Method Details
-
createIntegerValue
Description copied from interface:ValueFactoryCreates a new IntegerValue with an undefined value.- Specified by:
createIntegerValuein interfaceValueFactory- Overrides:
createIntegerValuein classBasicValueFactory
-
createIntegerValue
Description copied from interface:ValueFactoryCreates a new IntegerValue with a given particular value.- Specified by:
createIntegerValuein interfaceValueFactory- Overrides:
createIntegerValuein classParticularValueFactory
-
createIntegerValue
Description copied from interface:ValueFactoryCreates a new IntegerValue with a given possible range.- Specified by:
createIntegerValuein interfaceValueFactory- Overrides:
createIntegerValuein classBasicRangeValueFactory
-