Package proguard.evaluation.value
Class BasicRangeValueFactory
java.lang.Object
proguard.evaluation.value.BasicValueFactory
proguard.evaluation.value.ParticularValueFactory
proguard.evaluation.value.BasicRangeValueFactory
- All Implemented Interfaces:
ValueFactory
- Direct Known Subclasses:
RangeValueFactory
This ValueFactory provides methods to create and reuse IntegerValue instances that have known
ranges.
This basic implementation only creates RangeIntegerValue instances if they start out with a known range. Otherwise, it still creates ParticularIntegerValue instances or UnknownIntegerValue instances, which by themselves never generalize to RangeIntegerValue instances.
-
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 BasicRangeValueFactory.BasicRangeValueFactory(ValueFactory arrayReferenceValueFactory, ValueFactory referenceValueFactory) Creates a new BasicRangeValueFactory that delegates to the given value factories for creating reference values. -
Method Summary
Modifier and TypeMethodDescriptioncreateIntegerValue(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, createIntegerValue, createLongValue, createReferenceValue, createReferenceValue, createReferenceValue, createReferenceValue, createReferenceValue, createReferenceValue, createReferenceValue, createReferenceValue, createReferenceValueForId, createReferenceValueForId, createReferenceValueForId, createReferenceValueNullMethods inherited from class proguard.evaluation.value.BasicValueFactory
checkCreationLocation, checkReferenceValue, createDoubleValue, createFloatValue, createIntegerValue, 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, createIntegerValue, createIntegerValue, createLongValue, createLongValue, createReferenceValue, createReferenceValue, createReferenceValue, createReferenceValue, createReferenceValue, createReferenceValue, createReferenceValue, createReferenceValue, createReferenceValue, createReferenceValue, createReferenceValue, createReferenceValueForId, createReferenceValueForId, createReferenceValueForId, createReferenceValueNull, createValue
-
Constructor Details
-
BasicRangeValueFactory
public BasicRangeValueFactory()Creates a new BasicRangeValueFactory. -
BasicRangeValueFactory
public BasicRangeValueFactory(ValueFactory arrayReferenceValueFactory, ValueFactory referenceValueFactory) Creates a new BasicRangeValueFactory that delegates to the given value factories for creating reference values.
-
-
Method Details
-
createIntegerValue
Description copied from interface:ValueFactoryCreates a new IntegerValue with a given possible range.- Specified by:
createIntegerValuein interfaceValueFactory- Overrides:
createIntegerValuein classBasicValueFactory
-