[Compose] Relax assertion requiring rewriting of minified range
Bug: b/284925475
Change-Id: I6a6e909bad4b9fc0c3863261f380ad7a5b408e2a
diff --git a/src/main/java/com/android/tools/r8/naming/ComposingBuilder.java b/src/main/java/com/android/tools/r8/naming/ComposingBuilder.java
index 22cf5e4..2330423 100644
--- a/src/main/java/com/android/tools/r8/naming/ComposingBuilder.java
+++ b/src/main/java/com/android/tools/r8/naming/ComposingBuilder.java
@@ -629,7 +629,8 @@
+ firstPositionOfOriginalRange);
}
}
- assert minified.hasValue();
+ assert minified.hasValue()
+ || (mappedRange.minifiedRange == null && mappedRange.originalRange == null);
} else {
MappedRange existingMappedRange =
existingClassBuilder.methodsWithoutPosition.get(signature);
diff --git a/src/test/java/com/android/tools/r8/mappingcompose/ComposeMethodWithLineNumberRemovedTest.java b/src/test/java/com/android/tools/r8/mappingcompose/ComposeMethodWithLineNumberRemovedTest.java
index abd20c6..8e9ea9e 100644
--- a/src/test/java/com/android/tools/r8/mappingcompose/ComposeMethodWithLineNumberRemovedTest.java
+++ b/src/test/java/com/android/tools/r8/mappingcompose/ComposeMethodWithLineNumberRemovedTest.java
@@ -4,7 +4,8 @@
package com.android.tools.r8.mappingcompose;
-import static org.junit.Assert.assertThrows;
+import static com.android.tools.r8.mappingcompose.ComposeTestHelpers.doubleToSingleQuote;
+import static org.junit.Assert.assertEquals;
import com.android.tools.r8.TestBase;
import com.android.tools.r8.TestParameters;
@@ -52,12 +53,23 @@
" package.internal.Th a() -> b",
" # {'id':'com.android.tools.r8.residualsignature',"
+ "'signature':'()Lpackage/retrace_internal/F1;'}");
+ private static final String mappingResult =
+ StringUtils.unixLines(
+ "# {'id':'com.android.tools.r8.mapping','version':'2.2'}",
+ "package.ClassReference -> package.ClassReference:",
+ "package.FieldDefinition -> package.other_internal.M1:",
+ "# {'id':'sourceFile','fileName':'FieldDefinition.java'}",
+ " package.internal.Th a() -> b",
+ " # {'id':'com.android.tools.r8.residualsignature',"
+ + "'signature':'()Lpackage/retrace_internal/F1;'}",
+ " 1:1:void <init>() -> <init>",
+ "package.FieldDefinition$FullFieldDefinition -> package.other_internal.F1:");
@Test
public void testCompose() throws Exception {
ClassNameMapper mappingForFoo = ClassNameMapper.mapperFromString(mappingFoo);
ClassNameMapper mappingForBar = ClassNameMapper.mapperFromString(mappingBar);
- // TODO(b/284925475): We should relax the assertion that line numbers can be removed.
- assertThrows(AssertionError.class, () -> MappingComposer.compose(mappingForFoo, mappingForBar));
+ String composed = MappingComposer.compose(mappingForFoo, mappingForBar);
+ assertEquals(mappingResult, doubleToSingleQuote(composed));
}
}