Disable pruning of signatures for not kept items Bug: 172999267 Change-Id: Ib2f1888b1cb6ddafe17e8a3b5075b4f3128f7a13
diff --git a/src/main/java/com/android/tools/r8/shaking/KeepInfo.java b/src/main/java/com/android/tools/r8/shaking/KeepInfo.java index 7d75f05..36f5cdd 100644 --- a/src/main/java/com/android/tools/r8/shaking/KeepInfo.java +++ b/src/main/java/com/android/tools/r8/shaking/KeepInfo.java
@@ -84,8 +84,9 @@ public boolean isAllowSignatureAttributeRemovalAllowed( GlobalKeepInfoConfiguration configuration) { - return !configuration.isKeepAttributesSignatureEnabled() - || !(isPinned() || configuration.isForceProguardCompatibilityEnabled()); + // TODO(b/172999267): For full mode we should be able to remove for not pinned items if + // java reflect will not throw up. + return !configuration.isKeepAttributesSignatureEnabled(); } public abstract boolean isTop();
diff --git a/src/test/java/com/android/tools/r8/shaking/attributes/KeepSignatureTest.java b/src/test/java/com/android/tools/r8/shaking/attributes/KeepSignatureTest.java index 9dfff6e..ef2e860 100644 --- a/src/test/java/com/android/tools/r8/shaking/attributes/KeepSignatureTest.java +++ b/src/test/java/com/android/tools/r8/shaking/attributes/KeepSignatureTest.java
@@ -56,7 +56,8 @@ @Test public void testKeptClassFieldAndMethodFull() throws Exception { - runTest(testForR8(parameters.getBackend()), false); + // TODO(b/172999267): The below should be true + runTest(testForR8(parameters.getBackend()), true); } @Test