Rename EnumUnboxer prior to introducing new EmptyEnumUnboxer
Change-Id: If36b80798dbd6868f7cc5188623519cf01cebf2a
diff --git a/src/main/java/com/android/tools/r8/ir/code/NewUnboxedEnumInstance.java b/src/main/java/com/android/tools/r8/ir/code/NewUnboxedEnumInstance.java
index 8230766..bd42e7d 100644
--- a/src/main/java/com/android/tools/r8/ir/code/NewUnboxedEnumInstance.java
+++ b/src/main/java/com/android/tools/r8/ir/code/NewUnboxedEnumInstance.java
@@ -18,9 +18,10 @@
import com.android.tools.r8.ir.conversion.DexBuilder;
import com.android.tools.r8.ir.optimize.Inliner.ConstraintWithTarget;
import com.android.tools.r8.ir.optimize.InliningConstraints;
+import com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl;
/**
- * Special instruction used by {@link com.android.tools.r8.ir.optimize.enums.EnumUnboxer}.
+ * Special instruction used by {@link EnumUnboxerImpl}.
*
* <p>When applying the enum unboxer to the application, we move the class initializer of each
* unboxed enum to its utility class, and change each {@link NewInstance} instruction that
@@ -32,11 +33,10 @@
* code to type check until lens code rewriting, which replaces the {@link NewUnboxedEnumInstance}
* instructions by {@link ConstNumber} instructions.
*
- * <p>Note: The {@link NewUnboxedEnumInstance} is only used from {@link
- * com.android.tools.r8.ir.optimize.enums.EnumUnboxer#unboxEnums} until the execution of the {@link
- * com.android.tools.r8.ir.conversion.PostMethodProcessor}. There should be no instances of {@link
- * NewUnboxedEnumInstance} (nor {@link CfNewUnboxedEnum}, {@link DexNewUnboxedEnumInstance}) after
- * IR processing has finished.
+ * <p>Note: The {@link NewUnboxedEnumInstance} is only used from {@link EnumUnboxerImpl#unboxEnums}
+ * until the execution of the {@link com.android.tools.r8.ir.conversion.PostMethodProcessor}. There
+ * should be no instances of {@link NewUnboxedEnumInstance} (nor {@link CfNewUnboxedEnum}, {@link
+ * DexNewUnboxedEnumInstance}) after IR processing has finished.
*/
public class NewUnboxedEnumInstance extends Instruction {
diff --git a/src/main/java/com/android/tools/r8/ir/conversion/IRConverter.java b/src/main/java/com/android/tools/r8/ir/conversion/IRConverter.java
index 5bde78e..83aa86a 100644
--- a/src/main/java/com/android/tools/r8/ir/conversion/IRConverter.java
+++ b/src/main/java/com/android/tools/r8/ir/conversion/IRConverter.java
@@ -79,7 +79,7 @@
import com.android.tools.r8.ir.optimize.ServiceLoaderRewriter;
import com.android.tools.r8.ir.optimize.classinliner.ClassInliner;
import com.android.tools.r8.ir.optimize.enums.EnumDataMap;
-import com.android.tools.r8.ir.optimize.enums.EnumUnboxer;
+import com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl;
import com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer;
import com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector;
import com.android.tools.r8.ir.optimize.info.OptimizationFeedback;
@@ -153,7 +153,7 @@
private final TypeChecker typeChecker;
private final ServiceLoaderRewriter serviceLoaderRewriter;
private final EnumValueOptimizer enumValueOptimizer;
- private final EnumUnboxer enumUnboxer;
+ private final EnumUnboxerImpl enumUnboxer;
public final AssumeInserter assumeInserter;
private final DynamicTypeOptimization dynamicTypeOptimization;
@@ -267,7 +267,8 @@
options.enableTreeShakingOfLibraryMethodOverrides
? new LibraryMethodOverrideAnalysis(appViewWithLiveness)
: null;
- this.enumUnboxer = options.enableEnumUnboxing ? new EnumUnboxer(appViewWithLiveness) : null;
+ this.enumUnboxer =
+ options.enableEnumUnboxing ? new EnumUnboxerImpl(appViewWithLiveness) : null;
this.lensCodeRewriter = new LensCodeRewriter(appViewWithLiveness, enumUnboxer);
this.inliner = new Inliner(appViewWithLiveness, lensCodeRewriter);
this.outliner = Outliner.create(appViewWithLiveness);
diff --git a/src/main/java/com/android/tools/r8/ir/conversion/LensCodeRewriter.java b/src/main/java/com/android/tools/r8/ir/conversion/LensCodeRewriter.java
index 0356381..10ea8e3 100644
--- a/src/main/java/com/android/tools/r8/ir/conversion/LensCodeRewriter.java
+++ b/src/main/java/com/android/tools/r8/ir/conversion/LensCodeRewriter.java
@@ -93,7 +93,7 @@
import com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier;
import com.android.tools.r8.ir.code.Value;
import com.android.tools.r8.ir.code.ValueType;
-import com.android.tools.r8.ir.optimize.enums.EnumUnboxer;
+import com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl;
import com.android.tools.r8.logging.Log;
import com.android.tools.r8.optimize.MemberRebindingAnalysis;
import com.android.tools.r8.utils.InternalOptions;
@@ -110,11 +110,12 @@
public class LensCodeRewriter {
private final AppView<? extends AppInfoWithClassHierarchy> appView;
- private final EnumUnboxer enumUnboxer;
+ private final EnumUnboxerImpl enumUnboxer;
private final LensCodeRewriterUtils helper;
private final InternalOptions options;
- LensCodeRewriter(AppView<? extends AppInfoWithClassHierarchy> appView, EnumUnboxer enumUnboxer) {
+ LensCodeRewriter(
+ AppView<? extends AppInfoWithClassHierarchy> appView, EnumUnboxerImpl enumUnboxer) {
this.appView = appView;
this.enumUnboxer = enumUnboxer;
this.helper = new LensCodeRewriterUtils(appView);
diff --git a/src/main/java/com/android/tools/r8/ir/optimize/enums/EnumUnboxer.java b/src/main/java/com/android/tools/r8/ir/optimize/enums/EnumUnboxerImpl.java
similarity index 99%
rename from src/main/java/com/android/tools/r8/ir/optimize/enums/EnumUnboxer.java
rename to src/main/java/com/android/tools/r8/ir/optimize/enums/EnumUnboxerImpl.java
index 705ce93..fdeea23 100644
--- a/src/main/java/com/android/tools/r8/ir/optimize/enums/EnumUnboxer.java
+++ b/src/main/java/com/android/tools/r8/ir/optimize/enums/EnumUnboxerImpl.java
@@ -1,4 +1,4 @@
-// Copyright (c) 2020, the R8 project authors. Please see the AUTHORS file
+// Copyright (c) 2021, the R8 project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
@@ -131,7 +131,7 @@
import java.util.function.Function;
import java.util.function.Predicate;
-public class EnumUnboxer {
+public class EnumUnboxerImpl {
private final AppView<AppInfoWithLiveness> appView;
private final DexItemFactory factory;
@@ -157,7 +157,7 @@
private final boolean debugLogEnabled;
private final Map<DexType, List<Reason>> debugLogs;
- public EnumUnboxer(AppView<AppInfoWithLiveness> appView) {
+ public EnumUnboxerImpl(AppView<AppInfoWithLiveness> appView) {
this.appView = appView;
this.factory = appView.dexItemFactory();
if (appView.options().testing.enableEnumUnboxingDebugLogs) {
diff --git a/src/main/java/com/android/tools/r8/ir/optimize/enums/EnumUnboxingCandidateAnalysis.java b/src/main/java/com/android/tools/r8/ir/optimize/enums/EnumUnboxingCandidateAnalysis.java
index 4225447..51e4191 100644
--- a/src/main/java/com/android/tools/r8/ir/optimize/enums/EnumUnboxingCandidateAnalysis.java
+++ b/src/main/java/com/android/tools/r8/ir/optimize/enums/EnumUnboxingCandidateAnalysis.java
@@ -25,12 +25,12 @@
private static final int MAX_INSTANCE_FIELDS_FOR_UNBOXING = 7;
private final AppView<AppInfoWithLiveness> appView;
- private final EnumUnboxer enumUnboxer;
+ private final EnumUnboxerImpl enumUnboxer;
private final DexItemFactory factory;
private EnumUnboxingCandidateInfoCollection enumToUnboxCandidates =
new EnumUnboxingCandidateInfoCollection();
- EnumUnboxingCandidateAnalysis(AppView<AppInfoWithLiveness> appView, EnumUnboxer enumUnboxer) {
+ EnumUnboxingCandidateAnalysis(AppView<AppInfoWithLiveness> appView, EnumUnboxerImpl enumUnboxer) {
this.appView = appView;
this.enumUnboxer = enumUnboxer;
factory = appView.dexItemFactory();
diff --git a/src/main/java/com/android/tools/r8/ir/optimize/enums/EnumUnboxingRewriter.java b/src/main/java/com/android/tools/r8/ir/optimize/enums/EnumUnboxingRewriter.java
index 287a4d6..02d8cc1 100644
--- a/src/main/java/com/android/tools/r8/ir/optimize/enums/EnumUnboxingRewriter.java
+++ b/src/main/java/com/android/tools/r8/ir/optimize/enums/EnumUnboxingRewriter.java
@@ -288,7 +288,7 @@
assert unboxedEnumsData.isUnboxedEnum(newUnboxedEnumInstance.getType());
iterator.replaceCurrentInstruction(
code.createIntConstant(
- EnumUnboxer.ordinalToUnboxedInt(newUnboxedEnumInstance.getOrdinal())));
+ EnumUnboxerImpl.ordinalToUnboxedInt(newUnboxedEnumInstance.getOrdinal())));
}
}
}
diff --git a/src/main/java/com/android/tools/r8/ir/optimize/enums/code/CheckNotZeroCode.java b/src/main/java/com/android/tools/r8/ir/optimize/enums/code/CheckNotZeroCode.java
index c2c5427..38ad5cb 100644
--- a/src/main/java/com/android/tools/r8/ir/optimize/enums/code/CheckNotZeroCode.java
+++ b/src/main/java/com/android/tools/r8/ir/optimize/enums/code/CheckNotZeroCode.java
@@ -17,6 +17,7 @@
import com.android.tools.r8.ir.code.Instruction;
import com.android.tools.r8.ir.code.InstructionListIterator;
import com.android.tools.r8.ir.code.Return;
+import com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl;
import com.android.tools.r8.naming.ClassNameMapper;
import com.android.tools.r8.origin.Origin;
import com.android.tools.r8.utils.IteratorUtils;
@@ -28,8 +29,7 @@
*
* <p>Instances of {@link CheckNotZeroCode} are converted to {@link
* com.android.tools.r8.graph.CfCode} or {@link com.android.tools.r8.graph.DexCode} immediately, and
- * thus should never be seen outside of the {@link
- * com.android.tools.r8.ir.optimize.enums.EnumUnboxer}.
+ * thus should never be seen outside of the {@link EnumUnboxerImpl}.
*/
public class CheckNotZeroCode extends Code {