Allow overriding fields but not methods when using applymapping
Bug: 128868424
Change-Id: I2ea0989a53d73c4022bde1cd0980bb31e2389c02
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 ed80964..afdc1e5 100644
--- a/src/main/java/com/android/tools/r8/naming/ProguardMapMinifier.java
+++ b/src/main/java/com/android/tools/r8/naming/ProguardMapMinifier.java
@@ -270,12 +270,16 @@
// a member lookup may no longer visit its parent.
MemberNaming memberNaming = mappedNames.get(source);
assert source.isDexMethod() || source.isDexField();
- // TODO(b/128868424) Check if we can remove this warning for fields.
- reporter.warning(
- ApplyMappingError.mapToExistingMember(
- source.toSourceString(),
- name.toString(),
- memberNaming == null ? Position.UNKNOWN : memberNaming.position));
+ ApplyMappingError applyMappingError = ApplyMappingError.mapToExistingMember(
+ source.toSourceString(),
+ name.toString(),
+ memberNaming == null ? Position.UNKNOWN : memberNaming.position);
+ if (source.isDexMethod()) {
+ reporter.error(applyMappingError);
+ } else {
+ // TODO(b/128868424) Check if we can remove this warning for fields.
+ reporter.warning(applyMappingError);
+ }
return true;
}