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
public class BasicRangeValueFactory extends ParticularValueFactory implements ValueFactory
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
referenceValueFactory
-
Fields inherited from class proguard.evaluation.value.BasicValueFactory
DOUBLE_VALUE, FLOAT_VALUE, INTEGER_VALUE, LONG_VALUE, REFERENCE_VALUE, UNKNOWN_VALUE
-
-
Constructor Summary
Constructors Constructor Description BasicRangeValueFactory()
Creates 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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description IntegerValue
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, createIntegerValue, createLongValue, createReferenceValue, createReferenceValue, createReferenceValue, createReferenceValue, createReferenceValue, createReferenceValue, createReferenceValue, createReferenceValueForId, createReferenceValueForId, createReferenceValueForId, createReferenceValueNull
-
Methods inherited from class proguard.evaluation.value.BasicValueFactory
checkCreationLocation, checkReferenceValue, createDoubleValue, createFloatValue, createIntegerValue, createLongValue, createValue
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods 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, createReferenceValueForId, createReferenceValueForId, createReferenceValueForId, createReferenceValueNull, createValue
-
-
-
-
Constructor Detail
-
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 Detail
-
createIntegerValue
public IntegerValue createIntegerValue(int min, int max)
Description copied from interface:ValueFactory
Creates a new IntegerValue with a given possible range.- Specified by:
createIntegerValue
in interfaceValueFactory
- Overrides:
createIntegerValue
in classBasicValueFactory
-
-