Print at most one "missing enclosing-member annotation" warning.

R=ager

Bug: 38187714
Change-Id: I9c840600ef41ab478959c2187354fdda501629cf
diff --git a/src/main/java/com/android/tools/r8/graph/JarClassFileReader.java b/src/main/java/com/android/tools/r8/graph/JarClassFileReader.java
index ce38bc9..5718ec2 100644
--- a/src/main/java/com/android/tools/r8/graph/JarClassFileReader.java
+++ b/src/main/java/com/android/tools/r8/graph/JarClassFileReader.java
@@ -236,10 +236,7 @@
       }
       if (innerClassAnnotation != null) {
         if (enclosingAnnotation == null) {
-          System.out.println("InnerClass annotation is missing a corresponding EnclosingMember " +
-              "annotation. This is typically a sign of using an outdated Java toolchain. To fix, " +
-              "recompile the source with an updated toolchain. The InnerClass annotation will be " +
-              "ignored.");
+          application.options.warningMissingEnclosingMember = true;
         } else {
           addAnnotation(innerClassAnnotation);
           addAnnotation(enclosingAnnotation);
diff --git a/src/main/java/com/android/tools/r8/utils/InternalOptions.java b/src/main/java/com/android/tools/r8/utils/InternalOptions.java
index 7d7ea46..541b622 100644
--- a/src/main/java/com/android/tools/r8/utils/InternalOptions.java
+++ b/src/main/java/com/android/tools/r8/utils/InternalOptions.java
@@ -102,12 +102,27 @@
 
   public String warningInvalidParameterAnnotations = null;
 
+  public boolean warningMissingEnclosingMember = false;
+
   public boolean printWarnings() {
     boolean printed = false;
+    boolean printOutdatedToolchain = false;
     if (warningInvalidParameterAnnotations != null) {
       System.out.println("Warning: " + warningInvalidParameterAnnotations);
       printed = true;
     }
+    if (warningMissingEnclosingMember) {
+      System.out.println(
+          "Warning: InnerClass annotations are missing corresponding EnclosingMember annotations."
+              + " Such InnerClass annotations are ignored.");
+      printed = true;
+      printOutdatedToolchain = true;
+    }
+    if (printOutdatedToolchain) {
+      System.out.println(
+          "Some warnings are typically a sign of using an outdated Java toolchain."
+              + " To fix, recompile the source with an updated toolchain.");
+    }
     return printed;
   }