Add -dontwarn sun.misc.Unsafe to R8 build in L8
Change-Id: I7fbf7b99464218241201b79c8deb24ccec405630
diff --git a/src/main/java/com/android/tools/r8/L8Command.java b/src/main/java/com/android/tools/r8/L8Command.java
index b552bb2..4c235d9 100644
--- a/src/main/java/com/android/tools/r8/L8Command.java
+++ b/src/main/java/com/android/tools/r8/L8Command.java
@@ -21,6 +21,7 @@
import com.android.tools.r8.utils.Reporter;
import com.android.tools.r8.utils.StringDiagnostic;
import com.android.tools.r8.utils.ThreadUtils;
+import com.google.common.collect.ImmutableList;
import java.nio.file.Path;
import java.util.ArrayList;
import java.util.Collection;
@@ -315,6 +316,9 @@
}
r8Builder.addProguardConfiguration(
libraryConfiguration.getExtraKeepRules(), Origin.unknown());
+ // TODO(b/180903899): Remove rule when -dontwarn sun.misc.Unsafe is part of config.
+ r8Builder.addProguardConfiguration(
+ ImmutableList.of("-dontwarn sun.misc.Unsafe"), Origin.unknown());
r8Builder.addProguardConfigurationFiles(proguardConfigFiles);
r8Builder.setDisableDesugaring(true);
r8Builder.skipDump();
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 03c022e..ba25312 100644
--- a/src/main/java/com/android/tools/r8/shaking/MissingClasses.java
+++ b/src/main/java/com/android/tools/r8/shaking/MissingClasses.java
@@ -73,10 +73,6 @@
// if the same type is in newMissingClasses in which case it is reported regardless.
private final Set<DexType> newIgnoredMissingClasses = Sets.newIdentityHashSet();
- private Builder() {
- this(Sets.newIdentityHashSet());
- }
-
private Builder(Set<DexType> alreadyMissingClasses) {
this.alreadyMissingClasses = alreadyMissingClasses;
}
@@ -133,9 +129,7 @@
getMissingClassesToBeReported(appView, synthesizingContextOracle);
if (!missingClassesToBeReported.isEmpty()) {
MissingDefinitionsDiagnostic diagnostic = createDiagnostic(missingClassesToBeReported);
- InternalOptions options = appView.options();
- // TODO(b/180903899): Remove L8 special handling when -dontwarn sun.misc.Unsafe is in place.
- if (options.ignoreMissingClasses || options.isDesugaredLibraryCompilation()) {
+ if (appView.options().ignoreMissingClasses) {
appView.reporter().warning(diagnostic);
} else {
throw appView.reporter().fatalError(diagnostic);