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
public class RangeValueFactory extends BasicRangeValueFactory implements 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
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 RangeValueFactory()Creates 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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description IntegerValuecreateIntegerValue()Creates a new IntegerValue with an undefined value.IntegerValuecreateIntegerValue(int value)Creates a new IntegerValue with a given particular value.IntegerValuecreateIntegerValue(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, createReferenceValueNull
-
Methods inherited from class proguard.evaluation.value.BasicValueFactory
checkCreationLocation, checkReferenceValue, createDoubleValue, createFloatValue, 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, createLongValue, createLongValue, createReferenceValue, createReferenceValue, createReferenceValue, createReferenceValue, createReferenceValue, createReferenceValue, createReferenceValue, createReferenceValue, createReferenceValue, createReferenceValue, createReferenceValue, createReferenceValueForId, createReferenceValueForId, createReferenceValueForId, createReferenceValueNull, createValue
-
-
-
-
Constructor Detail
-
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 Detail
-
createIntegerValue
public IntegerValue createIntegerValue()
Description copied from interface:ValueFactoryCreates a new IntegerValue with an undefined value.- Specified by:
createIntegerValuein interfaceValueFactory- Overrides:
createIntegerValuein classBasicValueFactory
-
createIntegerValue
public IntegerValue createIntegerValue(int value)
Description copied from interface:ValueFactoryCreates a new IntegerValue with a given particular value.- Specified by:
createIntegerValuein interfaceValueFactory- Overrides:
createIntegerValuein classParticularValueFactory
-
createIntegerValue
public IntegerValue createIntegerValue(int min, int max)
Description copied from interface:ValueFactoryCreates a new IntegerValue with a given possible range.- Specified by:
createIntegerValuein interfaceValueFactory- Overrides:
createIntegerValuein classBasicRangeValueFactory
-
-