Package proguard.evaluation
Class ParticularReferenceValueFactory
- java.lang.Object
-
- proguard.evaluation.value.BasicValueFactory
-
- proguard.evaluation.value.TypedReferenceValueFactory
-
- proguard.evaluation.ParticularReferenceValueFactory
-
- All Implemented Interfaces:
ValueFactory
- Direct Known Subclasses:
JvmCfaReferenceValueFactory
public class ParticularReferenceValueFactory extends TypedReferenceValueFactory
ThisTypedReferenceValueFactory
creates reference values that also represent their content.Like
IdentifiedValueFactory
, it tracksIdentifiedReferenceValue
s with a unique integer ID.Calling a `createReferenceValue` method will increment the internal referencedID counter and return an object representing that
Value
with that new referenceID.Calling a `createReferenceForId` method will return an object representing that
Value
with the specified ID.
-
-
Field Summary
-
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 ParticularReferenceValueFactory()
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description ReferenceValue
createReferenceValue(java.lang.String type, Clazz referencedClass, boolean mayBeExtension, boolean mayBeNull)
Creates a new ReferenceValue that represents the given type.ReferenceValue
createReferenceValue(java.lang.String type, Clazz referencedClass, boolean mayBeExtension, boolean mayBeNull, java.lang.Object value)
Deprecated.ReferenceValue
createReferenceValue(java.lang.String type, Clazz referencedClass, boolean mayBeExtension, boolean mayBeNull, Clazz creationClass, Method creationMethod, int creationOffset)
Creates a new ReferenceValue that represents the given type, created at the specified code location.ReferenceValue
createReferenceValue(java.lang.String type, Clazz referencedClass, boolean mayBeExtension, boolean mayBeNull, Clazz creationClass, Method creationMethod, int creationOffset, java.lang.Object value)
Deprecated.ReferenceValue
createReferenceValue(Clazz referencedClass, boolean mayBeExtension, boolean mayBeNull, @NotNull AnalyzedObject value)
Creates a new ReferenceValue that represents the given type.ReferenceValue
createReferenceValue(Clazz referencedClass, boolean mayBeExtension, boolean mayBeNull, CodeLocation creationLocation, @NotNull AnalyzedObject value)
Creates a new ReferenceValue that represents the given type, created at the specified code location.ReferenceValue
createReferenceValueForId(java.lang.String type, Clazz referencedClass, boolean mayBeExtension, boolean mayBeNull, java.lang.Object id)
Creates a new ReferenceValue that represents the given type with a specified ID.ReferenceValue
createReferenceValueForId(java.lang.String type, Clazz referencedClass, boolean mayBeExtension, boolean mayBeNull, java.lang.Object id, java.lang.Object value)
Deprecated.ReferenceValue
createReferenceValueForId(Clazz referencedClass, boolean mayBeExtension, boolean mayBeNull, java.lang.Object id, @NotNull AnalyzedObject value)
Creates a new ReferenceValue that represents the given type with a specified ID.-
Methods inherited from class proguard.evaluation.value.TypedReferenceValueFactory
createArrayReferenceValue, createArrayReferenceValue, createReferenceValueNull
-
Methods inherited from class proguard.evaluation.value.BasicValueFactory
checkCreationLocation, checkReferenceValue, createDoubleValue, createDoubleValue, createFloatValue, createFloatValue, createIntegerValue, createIntegerValue, createIntegerValue, createLongValue, createLongValue, createReferenceValue, 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
createReferenceValue, createReferenceValue, createReferenceValue
-
-
-
-
Method Detail
-
createReferenceValue
public ReferenceValue createReferenceValue(java.lang.String type, Clazz referencedClass, boolean mayBeExtension, boolean mayBeNull, Clazz creationClass, Method creationMethod, int creationOffset)
Description copied from interface:ValueFactory
Creates a new ReferenceValue that represents the given type, created at the specified code location. The type must be an internal class name or an array type. If the type isnull
, the ReferenceValue representsnull
.- Specified by:
createReferenceValue
in interfaceValueFactory
- Overrides:
createReferenceValue
in classBasicValueFactory
-
createReferenceValue
@Deprecated public ReferenceValue createReferenceValue(java.lang.String type, Clazz referencedClass, boolean mayBeExtension, boolean mayBeNull, Clazz creationClass, Method creationMethod, int creationOffset, java.lang.Object value)
Deprecated.- Specified by:
createReferenceValue
in interfaceValueFactory
- Overrides:
createReferenceValue
in classBasicValueFactory
-
createReferenceValue
public ReferenceValue createReferenceValue(Clazz referencedClass, boolean mayBeExtension, boolean mayBeNull, CodeLocation creationLocation, @NotNull @NotNull AnalyzedObject value)
Description copied from interface:ValueFactory
Creates a new ReferenceValue that represents the given type, created at the specified code location. The type must be an internal class name or an array type. If the type isnull
, the ReferenceValue representsnull
.The object wrapped by
AnalyzedObject
is either the value of the reference during execution or aModel
of it.- Specified by:
createReferenceValue
in interfaceValueFactory
- Overrides:
createReferenceValue
in classBasicValueFactory
-
createReferenceValue
public ReferenceValue createReferenceValue(java.lang.String type, Clazz referencedClass, boolean mayBeExtension, boolean mayBeNull)
Description copied from interface:ValueFactory
Creates a new ReferenceValue that represents the given type. The type must be an internal class name or an array type. If the type isnull
, the ReferenceValue representsnull
.- Specified by:
createReferenceValue
in interfaceValueFactory
- Overrides:
createReferenceValue
in classTypedReferenceValueFactory
-
createReferenceValue
@Deprecated public ReferenceValue createReferenceValue(java.lang.String type, Clazz referencedClass, boolean mayBeExtension, boolean mayBeNull, java.lang.Object value)
Deprecated.Deprecated, usecreateReferenceValue(Clazz, boolean, boolean, AnalyzedObject)
.- Specified by:
createReferenceValue
in interfaceValueFactory
- Overrides:
createReferenceValue
in classBasicValueFactory
-
createReferenceValue
public ReferenceValue createReferenceValue(Clazz referencedClass, boolean mayBeExtension, boolean mayBeNull, @NotNull @NotNull AnalyzedObject value)
Description copied from interface:ValueFactory
Creates a new ReferenceValue that represents the given type. The type must be an internal class name or an array type. If the type isnull
, the ReferenceValue representsnull
.The object wrapped by
AnalyzedObject
is either the value of the reference during execution or aModel
of it.- Specified by:
createReferenceValue
in interfaceValueFactory
- Overrides:
createReferenceValue
in classBasicValueFactory
-
createReferenceValueForId
public ReferenceValue createReferenceValueForId(java.lang.String type, Clazz referencedClass, boolean mayBeExtension, boolean mayBeNull, java.lang.Object id)
Description copied from interface:ValueFactory
Creates a new ReferenceValue that represents the given type with a specified ID. The type must be an internal class name or an array type. If the type isnull
, the ReferenceValue representsnull
.- Specified by:
createReferenceValueForId
in interfaceValueFactory
- Overrides:
createReferenceValueForId
in classBasicValueFactory
-
createReferenceValueForId
@Deprecated public ReferenceValue createReferenceValueForId(java.lang.String type, Clazz referencedClass, boolean mayBeExtension, boolean mayBeNull, java.lang.Object id, java.lang.Object value)
Deprecated.- Specified by:
createReferenceValueForId
in interfaceValueFactory
- Overrides:
createReferenceValueForId
in classBasicValueFactory
-
createReferenceValueForId
public ReferenceValue createReferenceValueForId(Clazz referencedClass, boolean mayBeExtension, boolean mayBeNull, java.lang.Object id, @NotNull @NotNull AnalyzedObject value)
Description copied from interface:ValueFactory
Creates a new ReferenceValue that represents the given type with a specified ID. The type must be an internal class name or an array type. If the type isnull
, the ReferenceValue representsnull
.The object wrapped by
AnalyzedObject
is either the value of the reference during execution or aModel
of it.- Specified by:
createReferenceValueForId
in interfaceValueFactory
- Overrides:
createReferenceValueForId
in classBasicValueFactory
-
-