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 IntegerValue
createIntegerValue()
Creates a new IntegerValue with an undefined value.IntegerValue
createIntegerValue(int value)
Creates a new IntegerValue with a given particular value.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, createLongValue, 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, 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:ValueFactory
Creates a new IntegerValue with an undefined value.- Specified by:
createIntegerValue
in interfaceValueFactory
- Overrides:
createIntegerValue
in classBasicValueFactory
-
createIntegerValue
public IntegerValue createIntegerValue(int value)
Description copied from interface:ValueFactory
Creates a new IntegerValue with a given particular value.- Specified by:
createIntegerValue
in interfaceValueFactory
- Overrides:
createIntegerValue
in classParticularValueFactory
-
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 classBasicRangeValueFactory
-
-