Change ApplyMappingError to extend StringDiagnostic

Bug: 140075815
Change-Id: I955eb43d0c52f25b6fc247a50806cb7ea091b376
diff --git a/src/main/java/com/android/tools/r8/naming/ApplyMappingError.java b/src/main/java/com/android/tools/r8/naming/ApplyMappingError.java
index 597dfbc..7b76acb 100644
--- a/src/main/java/com/android/tools/r8/naming/ApplyMappingError.java
+++ b/src/main/java/com/android/tools/r8/naming/ApplyMappingError.java
@@ -4,11 +4,11 @@
 
 package com.android.tools.r8.naming;
 
-import com.android.tools.r8.errors.CompilationError;
 import com.android.tools.r8.origin.Origin;
 import com.android.tools.r8.position.Position;
+import com.android.tools.r8.utils.StringDiagnostic;
 
-public class ApplyMappingError extends CompilationError {
+public class ApplyMappingError extends StringDiagnostic {
 
   private static final String EXISTING_MESSAGE_START =
       "'%s' cannot be mapped to '%s' because it is in conflict with an existing ";
@@ -23,7 +23,7 @@
       EXISTING_MESSAGE_START + "member with the same signature" + EXISTING_MESSAGE_END;
 
   private ApplyMappingError(String message, Position position) {
-    super(message, null, Origin.unknown(), position);
+    super(message, Origin.unknown(), position);
   }
 
   static ApplyMappingError mapToExistingClass(
diff --git a/src/main/java/com/android/tools/r8/naming/ClassNamingForMapApplier.java b/src/main/java/com/android/tools/r8/naming/ClassNamingForMapApplier.java
index dc01215..65bc602 100644
--- a/src/main/java/com/android/tools/r8/naming/ClassNamingForMapApplier.java
+++ b/src/main/java/com/android/tools/r8/naming/ClassNamingForMapApplier.java
@@ -59,18 +59,16 @@
         if (signature.isQualified()) {
           qualifiedMethodMembers.computeIfAbsent(signature, k -> new ArrayList<>(2)).add(entry);
         } else if (methodMembers.put(signature, entry) != null) {
-          // TODO(b/140075815): Turn ApplyMappingError into a Diagnostic.
           reporter.error(
               ProguardMapError.duplicateSourceMember(
-                  signature.toString(), this.originalName, entry.position).toStringDiagnostic());
+                  signature.toString(), this.originalName, entry.position));
         }
       } else {
         FieldSignature signature = (FieldSignature) entry.getOriginalSignature();
         if (!signature.isQualified() && fieldMembers.put(signature, entry) != null) {
-          // TODO(b/140075815): Turn ApplyMappingError into a Diagnostic.
           reporter.error(
               ProguardMapError.duplicateSourceMember(
-                  signature.toString(), this.originalName, entry.position).toStringDiagnostic());
+                  signature.toString(), this.originalName, entry.position));
         }
       }
       return this;
diff --git a/src/main/java/com/android/tools/r8/naming/ProguardMapError.java b/src/main/java/com/android/tools/r8/naming/ProguardMapError.java
index 1f2ec2d..2569f12 100644
--- a/src/main/java/com/android/tools/r8/naming/ProguardMapError.java
+++ b/src/main/java/com/android/tools/r8/naming/ProguardMapError.java
@@ -3,18 +3,18 @@
 // BSD-style license that can be found in the LICENSE file.
 package com.android.tools.r8.naming;
 
-import com.android.tools.r8.errors.CompilationError;
 import com.android.tools.r8.naming.MemberNaming.Signature;
 import com.android.tools.r8.origin.Origin;
 import com.android.tools.r8.position.Position;
+import com.android.tools.r8.utils.StringDiagnostic;
 
-public class ProguardMapError extends CompilationError {
+public class ProguardMapError extends StringDiagnostic {
 
   protected static final String DUPLICATE_TARGET_MESSAGE = "'%s' and '%s' map to same name: '%s'";
   protected static final String DUPLICATE_SOURCE_MESSAGE = "'%s' already has a mapping";
 
   private ProguardMapError(String message, Position position) {
-    super(message, null, Origin.unknown(), position);
+    super(message, Origin.unknown(), position);
   }
 
   static ProguardMapError duplicateSourceClass(String typeName, Position position) {
diff --git a/src/main/java/com/android/tools/r8/naming/ProguardMapMinifier.java b/src/main/java/com/android/tools/r8/naming/ProguardMapMinifier.java
index dc90b8f..3d4d186 100644
--- a/src/main/java/com/android/tools/r8/naming/ProguardMapMinifier.java
+++ b/src/main/java/com/android/tools/r8/naming/ProguardMapMinifier.java
@@ -306,10 +306,9 @@
       appView
           .options()
           .reporter
-          // TODO(b/140075815): Turn ApplyMappingError into a Diagnostic.
           .error(
               ApplyMappingError.mapToExistingClass(
-                  type.toString(), mappedName.toString(), position).toStringDiagnostic());
+                  type.toString(), mappedName.toString(), position));
     } else {
       mappedNames.put(type, mappedName);
     }
diff --git a/src/main/java/com/android/tools/r8/naming/SeedMapper.java b/src/main/java/com/android/tools/r8/naming/SeedMapper.java
index a90566f..d7f36da 100644
--- a/src/main/java/com/android/tools/r8/naming/SeedMapper.java
+++ b/src/main/java/com/android/tools/r8/naming/SeedMapper.java
@@ -51,8 +51,7 @@
           ClassNamingForMapApplier.builder(
               javaTypeToDescriptor(renamedName), originalDescriptor, position, reporter);
       if (map.put(originalDescriptor, classNamingBuilder) != null) {
-        // TODO(b/140075815): Turn ProguardMapError into a Diagnostic.
-        reporter.error(ProguardMapError.duplicateSourceClass(originalName, position).toStringDiagnostic());
+        reporter.error(ProguardMapError.duplicateSourceClass(originalName, position));
       }
       return classNamingBuilder;
     }
@@ -101,13 +100,12 @@
       ClassNamingForMapApplier classNaming = mappings.get(key);
       String existing = seenMappings.put(classNaming.renamedName, key);
       if (existing != null) {
-        // TODO(b/140075815): Turn ApplyMappingError into a Diagnostic.
         reporter.error(
             ProguardMapError.duplicateTargetClass(
                 descriptorToJavaType(key),
                 descriptorToJavaType(existing),
                 descriptorToInternalName(classNaming.renamedName),
-                classNaming.position).toStringDiagnostic());
+                classNaming.position));
       }
       // TODO(b/136694827) Enable when we have proper support
       // Map<Signature, MemberNaming> seenMembers = new HashMap<>();