Fix the fix for enum single field values.
Change-Id: Ic1efba9976c44b21513b5991618a5d19fe1337ff
diff --git a/src/main/java/com/android/tools/r8/ir/analysis/value/SingleFieldValue.java b/src/main/java/com/android/tools/r8/ir/analysis/value/SingleFieldValue.java
index badfa389..7bdcc84 100644
--- a/src/main/java/com/android/tools/r8/ir/analysis/value/SingleFieldValue.java
+++ b/src/main/java/com/android/tools/r8/ir/analysis/value/SingleFieldValue.java
@@ -109,13 +109,14 @@
@Override
public SingleValue rewrittenWithLens(AppView<AppInfoWithLiveness> appView, GraphLense lens) {
AbstractValueFactory factory = appView.abstractValueFactory();
- EnumValueInfoMap unboxedEnumInfo = appView.unboxedEnums().getEnumValueInfoMap(field.holder);
- if (unboxedEnumInfo != null) {
- // Return the ordinal of the unboxed enum.
- assert field.holder == field.type;
- assert unboxedEnumInfo.hasEnumValueInfo(field);
- return factory.createSingleNumberValue(
- unboxedEnumInfo.getEnumValueInfo(field).convertToInt());
+ if (field.holder == field.type) {
+ EnumValueInfoMap unboxedEnumInfo = appView.unboxedEnums().getEnumValueInfoMap(field.type);
+ if (unboxedEnumInfo != null) {
+ // Return the ordinal of the unboxed enum.
+ assert unboxedEnumInfo.hasEnumValueInfo(field);
+ return factory.createSingleNumberValue(
+ unboxedEnumInfo.getEnumValueInfo(field).convertToInt());
+ }
}
return factory.createSingleFieldValue(
lens.lookupField(field), getState().rewrittenWithLens(appView, lens));