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<>();