| commit | 419e802ebbd58c3addf3e371ac27da9077c3491c | [log] [tgz] |
|---|---|---|
| author | Christoffer Quist Adamsen <christofferqa@google.com> | Thu Jul 18 14:35:08 2019 +0200 |
| committer | Christoffer Quist Adamsen <christofferqa@google.com> | Thu Jul 18 14:35:08 2019 +0200 |
| tree | d0af76ea81679de88b7b75ff8100afe86b9c9793 | |
| parent | a1aa63fc9cfb842cbda32bc5bc7747575d22f4f0 [diff] |
Keep kept class initializers in debug mode Change-Id: I8f5485983f52d76771bebc66f46569cc7503e2e2
diff --git a/src/main/java/com/android/tools/r8/shaking/RootSetBuilder.java b/src/main/java/com/android/tools/r8/shaking/RootSetBuilder.java index 8b8ef0a..f59def9 100644 --- a/src/main/java/com/android/tools/r8/shaking/RootSetBuilder.java +++ b/src/main/java/com/android/tools/r8/shaking/RootSetBuilder.java
@@ -1012,7 +1012,7 @@ if (context instanceof ProguardKeepRule) { if (item.isDexEncodedMethod()) { DexEncodedMethod encodedMethod = item.asDexEncodedMethod(); - if (encodedMethod.isClassInitializer()) { + if (encodedMethod.isClassInitializer() && !options.debug) { // Don't keep class initializers. return; }
diff --git a/src/test/java/com/android/tools/r8/shaking/constructor/InitMatchingTest.java b/src/test/java/com/android/tools/r8/shaking/constructor/InitMatchingTest.java index a7fa4c2..073003b 100644 --- a/src/test/java/com/android/tools/r8/shaking/constructor/InitMatchingTest.java +++ b/src/test/java/com/android/tools/r8/shaking/constructor/InitMatchingTest.java
@@ -178,11 +178,8 @@ } else { assertThat(init, not(isPresent())); } + // We only keep class initializers in debug mode. MethodSubject clinit = classSubject.clinit(); - if (EFFECTIVE_CLINIT_NAMES.contains(initName)) { - assertThat(clinit, isPresent()); - } else { - assertThat(clinit, not(isPresent())); - } + assertThat(clinit, not(isPresent())); } }