Ignore missing classes in L8 pt. 2
Change-Id: I05c51be32f7df12f735cf1a8209fdc9443d42569
diff --git a/src/main/java/com/android/tools/r8/L8Command.java b/src/main/java/com/android/tools/r8/L8Command.java
index a085428..b552bb2 100644
--- a/src/main/java/com/android/tools/r8/L8Command.java
+++ b/src/main/java/com/android/tools/r8/L8Command.java
@@ -152,9 +152,6 @@
InternalOptions internal = new InternalOptions(factory, getReporter());
assert !internal.debug;
internal.debug = getMode() == CompilationMode.DEBUG;
- // TODO(b/180903899): Remove once -dontwarn sun.misc.Unsafe is in place.
- assert !internal.ignoreMissingClasses;
- internal.ignoreMissingClasses = true;
assert internal.mainDexListConsumer == null;
assert !internal.minimalMainDex;
internal.minApiLevel = getMinApiLevel();
diff --git a/src/main/java/com/android/tools/r8/shaking/MissingClasses.java b/src/main/java/com/android/tools/r8/shaking/MissingClasses.java
index de249d8..c2d6a7c 100644
--- a/src/main/java/com/android/tools/r8/shaking/MissingClasses.java
+++ b/src/main/java/com/android/tools/r8/shaking/MissingClasses.java
@@ -133,7 +133,9 @@
getMissingClassesToBeReported(appView, synthesizingContextOracle);
if (!missingClassesToBeReported.isEmpty()) {
MissingDefinitionsDiagnostic diagnostic = createDiagnostic(missingClassesToBeReported);
- if (appView.options().ignoreMissingClasses) {
+ InternalOptions options = appView.options();
+ // TODO(b/180903899): Remove L8 special handling when -dontwarn sun.misc.Unsafe is in place.
+ if (options.ignoreMissingClasses || options.isDesugaredLibraryCompilation()) {
appView.reporter().warning(diagnostic);
} else {
throw appView.reporter().fatalError(diagnostic);