Allow for parsing comment lines before class mappings

Bug: 179665169
Bug: 179506350
Change-Id: I36f1948aa29638b5dd8e81c3304eaa6a2f0bb16f
diff --git a/src/main/java/com/android/tools/r8/naming/ProguardMapReader.java b/src/main/java/com/android/tools/r8/naming/ProguardMapReader.java
index 4588437..0f94efa 100644
--- a/src/main/java/com/android/tools/r8/naming/ProguardMapReader.java
+++ b/src/main/java/com/android/tools/r8/naming/ProguardMapReader.java
@@ -222,6 +222,14 @@
   private void parseClassMappings(ProguardMap.Builder mapBuilder) throws IOException {
     while (hasLine()) {
       skipWhitespace();
+      if (isCommentLineWithJsonBrace()) {
+        // TODO(b/179665169): Parse the mapping information without doing anything with it, since we
+        //  at this point do not have a global context.
+        MappingInformation.fromJsonObject(parseJsonInComment(), diagnosticsHandler, lineNo);
+        // Skip reading the rest of the line.
+        lineOffset = line.length();
+        nextLine();
+      }
       String before = parseType(false);
       skipWhitespace();
       // Workaround for proguard map files that contain entries for package-info.java files.
diff --git a/src/test/java/com/android/tools/r8/naming/ProguardMapReaderTest.java b/src/test/java/com/android/tools/r8/naming/ProguardMapReaderTest.java
index 699a0ba..4e56011 100644
--- a/src/test/java/com/android/tools/r8/naming/ProguardMapReaderTest.java
+++ b/src/test/java/com/android/tools/r8/naming/ProguardMapReaderTest.java
@@ -201,8 +201,7 @@
     }
   }
 
-  // TODO(b/179665652, b/179506350): Should not fail.
-  @Test(expected = ParseException.class)
+  @Test()
   public void testCommentLineBeforeAnyClassMappings() throws IOException {
     String mapping =
         StringUtils.lines(