public static interface RecomputeFieldValue.CustomFieldValueTransformer
RecomputeFieldValue.CustomFieldValueTransformer.transform(jdk.vm.ci.meta.MetaAccessProvider, jdk.vm.ci.meta.ResolvedJavaField, jdk.vm.ci.meta.ResolvedJavaField, java.lang.Object, java.lang.Object).
In contrast to RecomputeFieldValue.CustomFieldValueComputer, the RecomputeFieldValue.CustomFieldValueTransformer.transform(jdk.vm.ci.meta.MetaAccessProvider, jdk.vm.ci.meta.ResolvedJavaField, jdk.vm.ci.meta.ResolvedJavaField, java.lang.Object, java.lang.Object) method also has the
original field value as a parameter. This is convenient if the new value depends on the
original value, but also requires the original field to be present, e.g., it cannot be use
for injected fields.| Modifier and Type | Method and Description |
|---|---|
Object |
transform(jdk.vm.ci.meta.MetaAccessProvider metaAccess,
jdk.vm.ci.meta.ResolvedJavaField original,
jdk.vm.ci.meta.ResolvedJavaField annotated,
Object receiver,
Object originalValue)
Computes the new field value.
|
Object transform(jdk.vm.ci.meta.MetaAccessProvider metaAccess, jdk.vm.ci.meta.ResolvedJavaField original, jdk.vm.ci.meta.ResolvedJavaField annotated, Object receiver, Object originalValue)
metaAccess - The AnalysisMetaAccess instance during the analysis or
HostedMetaAccess instance after the analysis.original - The original field.annotated - The field annotated with RecomputeFieldValue.receiver - The original object for instance fields, or null for static
fields.