Clean-up desugared library code
Change-Id: I6acfee92df99f7c207c76fb3b3d56590b65ecc45
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 ecf2f85..664da13 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
@@ -430,8 +430,7 @@
InterfaceMethodProcessorFacade interfaceDesugaring =
instructionDesugaring.getInterfaceMethodPostProcessingDesugaringD8(
ExcludeDexResources, interfaceProcessor);
- CfPostProcessingDesugaringCollection.create(
- appView, interfaceDesugaring, instructionDesugaring.getRetargetingInfo())
+ CfPostProcessingDesugaringCollection.create(appView, interfaceDesugaring)
.postProcessingDesugaring(
appView.appInfo().classes(), m -> true, eventConsumer, executorService);
methodProcessor.awaitMethodProcessing();
diff --git a/src/main/java/com/android/tools/r8/ir/desugar/CfInstructionDesugaringCollection.java b/src/main/java/com/android/tools/r8/ir/desugar/CfInstructionDesugaringCollection.java
index de491c7..c457ace 100644
--- a/src/main/java/com/android/tools/r8/ir/desugar/CfInstructionDesugaringCollection.java
+++ b/src/main/java/com/android/tools/r8/ir/desugar/CfInstructionDesugaringCollection.java
@@ -10,7 +10,6 @@
import com.android.tools.r8.graph.AppView;
import com.android.tools.r8.graph.ProgramMethod;
import com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter;
-import com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo;
import com.android.tools.r8.ir.desugar.itf.InterfaceMethodProcessorFacade;
import com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.Flavor;
import com.android.tools.r8.ir.desugar.itf.InterfaceProcessor;
@@ -81,8 +80,6 @@
public abstract InterfaceMethodProcessorFacade getInterfaceMethodPostProcessingDesugaringR8(
Flavor flavor, Predicate<ProgramMethod> isLiveMethod, InterfaceProcessor processor);
- public abstract RetargetingInfo getRetargetingInfo();
-
public abstract void withDesugaredLibraryAPIConverter(
Consumer<DesugaredLibraryAPIConverter> consumer);
}
diff --git a/src/main/java/com/android/tools/r8/ir/desugar/CfPostProcessingDesugaringCollection.java b/src/main/java/com/android/tools/r8/ir/desugar/CfPostProcessingDesugaringCollection.java
index 780e31f..09b456b 100644
--- a/src/main/java/com/android/tools/r8/ir/desugar/CfPostProcessingDesugaringCollection.java
+++ b/src/main/java/com/android/tools/r8/ir/desugar/CfPostProcessingDesugaringCollection.java
@@ -8,7 +8,6 @@
import com.android.tools.r8.graph.ProgramMethod;
import com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPICallbackSynthesizer;
import com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor;
-import com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo;
import com.android.tools.r8.ir.desugar.itf.InterfaceMethodProcessorFacade;
import com.android.tools.r8.ir.desugar.records.RecordDesugaring;
import java.util.ArrayList;
@@ -21,12 +20,10 @@
public abstract class CfPostProcessingDesugaringCollection {
public static CfPostProcessingDesugaringCollection create(
- AppView<?> appView,
- InterfaceMethodProcessorFacade interfaceMethodProcessorFacade,
- RetargetingInfo retargetingInfo) {
+ AppView<?> appView, InterfaceMethodProcessorFacade interfaceMethodProcessorFacade) {
if (appView.options().desugarState.isOn()) {
return NonEmptyCfPostProcessingDesugaringCollection.create(
- appView, interfaceMethodProcessorFacade, retargetingInfo);
+ appView, interfaceMethodProcessorFacade);
}
return empty();
}
@@ -53,13 +50,11 @@
}
public static CfPostProcessingDesugaringCollection create(
- AppView<?> appView,
- InterfaceMethodProcessorFacade interfaceMethodProcessorFacade,
- RetargetingInfo retargetingInfo) {
+ AppView<?> appView, InterfaceMethodProcessorFacade interfaceMethodProcessorFacade) {
ArrayList<CfPostProcessingDesugaring> desugarings = new ArrayList<>();
if (appView.options().machineDesugaredLibrarySpecification.hasRetargeting()
&& !appView.options().isDesugaredLibraryCompilation()) {
- desugarings.add(new DesugaredLibraryRetargeterPostProcessor(appView, retargetingInfo));
+ desugarings.add(new DesugaredLibraryRetargeterPostProcessor(appView));
}
if (interfaceMethodProcessorFacade != null) {
desugarings.add(interfaceMethodProcessorFacade);
diff --git a/src/main/java/com/android/tools/r8/ir/desugar/EmptyCfInstructionDesugaringCollection.java b/src/main/java/com/android/tools/r8/ir/desugar/EmptyCfInstructionDesugaringCollection.java
index 1e4d6f8..e7a1587 100644
--- a/src/main/java/com/android/tools/r8/ir/desugar/EmptyCfInstructionDesugaringCollection.java
+++ b/src/main/java/com/android/tools/r8/ir/desugar/EmptyCfInstructionDesugaringCollection.java
@@ -8,7 +8,6 @@
import com.android.tools.r8.contexts.CompilationContext.MethodProcessingContext;
import com.android.tools.r8.graph.ProgramMethod;
import com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter;
-import com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo;
import com.android.tools.r8.ir.desugar.itf.InterfaceMethodProcessorFacade;
import com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.Flavor;
import com.android.tools.r8.ir.desugar.itf.InterfaceProcessor;
@@ -89,11 +88,6 @@
}
@Override
- public RetargetingInfo getRetargetingInfo() {
- return null;
- }
-
- @Override
public void withDesugaredLibraryAPIConverter(Consumer<DesugaredLibraryAPIConverter> consumer) {
// Intentionally empty.
}
diff --git a/src/main/java/com/android/tools/r8/ir/desugar/NonEmptyCfInstructionDesugaringCollection.java b/src/main/java/com/android/tools/r8/ir/desugar/NonEmptyCfInstructionDesugaringCollection.java
index 2d33ee3..4c51b9f 100644
--- a/src/main/java/com/android/tools/r8/ir/desugar/NonEmptyCfInstructionDesugaringCollection.java
+++ b/src/main/java/com/android/tools/r8/ir/desugar/NonEmptyCfInstructionDesugaringCollection.java
@@ -18,7 +18,6 @@
import com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicInstructionDesugaring;
import com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter;
import com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeter;
-import com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo;
import com.android.tools.r8.ir.desugar.icce.AlwaysThrowingInstructionDesugaring;
import com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring;
import com.android.tools.r8.ir.desugar.itf.InterfaceMethodProcessorFacade;
@@ -405,14 +404,6 @@
}
@Override
- public RetargetingInfo getRetargetingInfo() {
- if (desugaredLibraryRetargeter != null) {
- return desugaredLibraryRetargeter.getRetargetingInfo();
- }
- return null;
- }
-
- @Override
public void withDesugaredLibraryAPIConverter(Consumer<DesugaredLibraryAPIConverter> consumer) {
if (desugaredLibraryAPIConverter != null) {
consumer.accept(desugaredLibraryAPIConverter);
diff --git a/src/main/java/com/android/tools/r8/ir/desugar/desugaredlibrary/retargeter/DesugaredLibraryRetargeter.java b/src/main/java/com/android/tools/r8/ir/desugar/desugaredlibrary/retargeter/DesugaredLibraryRetargeter.java
index 56167d8..73dd908 100644
--- a/src/main/java/com/android/tools/r8/ir/desugar/desugaredlibrary/retargeter/DesugaredLibraryRetargeter.java
+++ b/src/main/java/com/android/tools/r8/ir/desugar/desugaredlibrary/retargeter/DesugaredLibraryRetargeter.java
@@ -22,6 +22,7 @@
import com.android.tools.r8.ir.desugar.FreshLocalProvider;
import com.android.tools.r8.ir.desugar.LocalStackAllocator;
import com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor;
+import com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification;
import com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer.DesugaredLibraryRetargeterInstructionEventConsumer;
import java.util.Collection;
import java.util.Collections;
@@ -35,7 +36,6 @@
private final AppView<?> appView;
private final DesugaredLibraryRetargeterSyntheticHelper syntheticHelper;
- private final RetargetingInfo retargetingInfo;
private final Map<DexMethod, DexMethod> staticRetarget;
private final Map<DexMethod, DexMethod> nonEmulatedVirtualRetarget;
private final Map<DexMethod, EmulatedDispatchMethodDescriptor> emulatedVirtualRetarget;
@@ -43,10 +43,11 @@
public DesugaredLibraryRetargeter(AppView<?> appView) {
this.appView = appView;
this.syntheticHelper = new DesugaredLibraryRetargeterSyntheticHelper(appView);
- retargetingInfo = RetargetingInfo.get(appView);
- staticRetarget = retargetingInfo.getStaticRetarget();
- nonEmulatedVirtualRetarget = retargetingInfo.getNonEmulatedVirtualRetarget();
- emulatedVirtualRetarget = retargetingInfo.getEmulatedVirtualRetarget();
+ MachineDesugaredLibrarySpecification specification =
+ appView.options().machineDesugaredLibrarySpecification;
+ staticRetarget = specification.getStaticRetarget();
+ nonEmulatedVirtualRetarget = specification.getNonEmulatedVirtualRetarget();
+ emulatedVirtualRetarget = specification.getEmulatedVirtualRetarget();
}
// Used by the ListOfBackportedMethods utility.
@@ -56,10 +57,6 @@
emulatedVirtualRetarget.keySet().forEach(consumer);
}
- public RetargetingInfo getRetargetingInfo() {
- return retargetingInfo;
- }
-
@Override
public Collection<CfInstruction> desugarInstruction(
CfInstruction instruction,
diff --git a/src/main/java/com/android/tools/r8/ir/desugar/desugaredlibrary/retargeter/DesugaredLibraryRetargeterPostProcessor.java b/src/main/java/com/android/tools/r8/ir/desugar/desugaredlibrary/retargeter/DesugaredLibraryRetargeterPostProcessor.java
index 3d70140..e1447fb 100644
--- a/src/main/java/com/android/tools/r8/ir/desugar/desugaredlibrary/retargeter/DesugaredLibraryRetargeterPostProcessor.java
+++ b/src/main/java/com/android/tools/r8/ir/desugar/desugaredlibrary/retargeter/DesugaredLibraryRetargeterPostProcessor.java
@@ -36,11 +36,11 @@
private final DesugaredLibraryRetargeterSyntheticHelper syntheticHelper;
private final Map<DexMethod, EmulatedDispatchMethodDescriptor> emulatedDispatchMethods;
- public DesugaredLibraryRetargeterPostProcessor(
- AppView<?> appView, RetargetingInfo retargetingInfo) {
+ public DesugaredLibraryRetargeterPostProcessor(AppView<?> appView) {
this.appView = appView;
this.syntheticHelper = new DesugaredLibraryRetargeterSyntheticHelper(appView);
- emulatedDispatchMethods = retargetingInfo.getEmulatedVirtualRetarget();
+ emulatedDispatchMethods =
+ appView.options().machineDesugaredLibrarySpecification.getEmulatedVirtualRetarget();
}
@Override
diff --git a/src/main/java/com/android/tools/r8/ir/desugar/desugaredlibrary/retargeter/RetargetingInfo.java b/src/main/java/com/android/tools/r8/ir/desugar/desugaredlibrary/retargeter/RetargetingInfo.java
deleted file mode 100644
index b7ac366..0000000
--- a/src/main/java/com/android/tools/r8/ir/desugar/desugaredlibrary/retargeter/RetargetingInfo.java
+++ /dev/null
@@ -1,47 +0,0 @@
-// 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.
-package com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter;
-
-import com.android.tools.r8.graph.AppView;
-import com.android.tools.r8.graph.DexMethod;
-import com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor;
-import com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification;
-import java.util.Map;
-
-public class RetargetingInfo {
-
- private final Map<DexMethod, DexMethod> staticRetarget;
- private final Map<DexMethod, DexMethod> nonEmulatedVirtualRetarget;
- private final Map<DexMethod, EmulatedDispatchMethodDescriptor> emulatedVirtualRetarget;
-
- RetargetingInfo(
- Map<DexMethod, DexMethod> staticRetarget,
- Map<DexMethod, DexMethod> nonEmulatedVirtualRetarget,
- Map<DexMethod, EmulatedDispatchMethodDescriptor> emulatedVirtualRetarget) {
- this.staticRetarget = staticRetarget;
- this.nonEmulatedVirtualRetarget = nonEmulatedVirtualRetarget;
- this.emulatedVirtualRetarget = emulatedVirtualRetarget;
- }
-
- public static RetargetingInfo get(AppView<?> appView) {
- MachineDesugaredLibrarySpecification specification =
- appView.options().machineDesugaredLibrarySpecification;
- return new RetargetingInfo(
- specification.getStaticRetarget(),
- specification.getNonEmulatedVirtualRetarget(),
- specification.getEmulatedVirtualRetarget());
- }
-
- public Map<DexMethod, DexMethod> getStaticRetarget() {
- return staticRetarget;
- }
-
- public Map<DexMethod, DexMethod> getNonEmulatedVirtualRetarget() {
- return nonEmulatedVirtualRetarget;
- }
-
- public Map<DexMethod, EmulatedDispatchMethodDescriptor> getEmulatedVirtualRetarget() {
- return emulatedVirtualRetarget;
- }
-}
diff --git a/src/main/java/com/android/tools/r8/shaking/Enqueuer.java b/src/main/java/com/android/tools/r8/shaking/Enqueuer.java
index 6a97cf2..8681f33 100644
--- a/src/main/java/com/android/tools/r8/shaking/Enqueuer.java
+++ b/src/main/java/com/android/tools/r8/shaking/Enqueuer.java
@@ -4116,8 +4116,7 @@
InterfaceMethodProcessorFacade interfaceDesugaring =
desugaring.getInterfaceMethodPostProcessingDesugaringR8(
ExcludeDexResources, liveMethods::contains, interfaceProcessor);
- CfPostProcessingDesugaringCollection.create(
- appView, interfaceDesugaring, desugaring.getRetargetingInfo())
+ CfPostProcessingDesugaringCollection.create(appView, interfaceDesugaring)
.postProcessingDesugaring(
liveTypes.items, liveMethods::contains, eventConsumer, executorService);