Add comments on when javac will generate `$closeResource`
Change-Id: I11e1bd3d752d394b6df902debf554bad5d391cc3
diff --git a/src/test/examplesJava9/twraddsuppressed/TestClass.java b/src/test/examplesJava9/twraddsuppressed/TestClass.java
index 61285ce..fcf0d6f 100644
--- a/src/test/examplesJava9/twraddsuppressed/TestClass.java
+++ b/src/test/examplesJava9/twraddsuppressed/TestClass.java
@@ -20,6 +20,8 @@
}
public static void bar() {
+ // NOTE: The $closeResource helper is _only_ generated by the JDK-9 compiler.
+ //
// Use twr twice to have javac generate a shared $closeResource helper.
try (MyClosable closable = new MyClosable()) {
foo();
diff --git a/src/test/java/com/android/tools/r8/desugar/suppressedexceptions/TwrSuppressedExceptionsTest.java b/src/test/java/com/android/tools/r8/desugar/suppressedexceptions/TwrSuppressedExceptionsTest.java
index ce7e1a7..6c03e85 100644
--- a/src/test/java/com/android/tools/r8/desugar/suppressedexceptions/TwrSuppressedExceptionsTest.java
+++ b/src/test/java/com/android/tools/r8/desugar/suppressedexceptions/TwrSuppressedExceptionsTest.java
@@ -84,6 +84,7 @@
ClassSubject clazz = inspector.clazz(MAIN.typeName());
hasInvokesTo(
clazz.uniqueMethodWithOriginalName("bar"),
+ // NOTE: The $closeResource helper is _only_ generated by the JDK-9 compiler.
"$closeResource",
apiLevelHasTwrCloseResourceSupport(true) ? 4 : 0);
if (apiLevelHasSuppressedExceptionsSupport(true)) {
@@ -102,6 +103,7 @@
DesugarTestConfiguration::isNotDesugared,
inspector -> {
ClassSubject clazz = inspector.clazz(MAIN.typeName());
+ // NOTE: The $closeResource helper is _only_ generated by the JDK-9 compiler.
hasInvokesTo(clazz.uniqueMethodWithOriginalName("bar"), "$closeResource", 4);
hasInvokesTo(clazz.mainMethod(), "getSuppressed", 1);
});
diff --git a/src/test/java/com/android/tools/r8/desugar/twr/TwrCloseResourceDuplicationTest.java b/src/test/java/com/android/tools/r8/desugar/twr/TwrCloseResourceDuplicationTest.java
index b5b8444..dbea1507 100644
--- a/src/test/java/com/android/tools/r8/desugar/twr/TwrCloseResourceDuplicationTest.java
+++ b/src/test/java/com/android/tools/r8/desugar/twr/TwrCloseResourceDuplicationTest.java
@@ -110,6 +110,8 @@
.assertSuccessWithOutput(EXPECTED)
.inspect(
inspector -> {
+ // NOTE: The $closeResource helper is _only_ generated by the JDK-9 compiler.
+ //
// There should be two synthetic classes besides the three program classes.
// One for the desugar version of TWR $closeResource and one for the
// Throwable.addSuppressed that is still present in the original $closeResource.
diff --git a/src/test/java/com/android/tools/r8/ir/desugar/backports/CloseResourceMethod.java b/src/test/java/com/android/tools/r8/ir/desugar/backports/CloseResourceMethod.java
index 2059e86..7e18bdb 100644
--- a/src/test/java/com/android/tools/r8/ir/desugar/backports/CloseResourceMethod.java
+++ b/src/test/java/com/android/tools/r8/ir/desugar/backports/CloseResourceMethod.java
@@ -8,6 +8,9 @@
public class CloseResourceMethod {
+ // NOTE: The $closeResource helper is _only_ generated by the JDK-9 compiler. The test
+ // CheckTwrOutputForJavaCompilersTest will fail if it is generated by other compilers.
+ //
// The following method defines the code of
//
// public static void $closeResource(Throwable throwable, Object resource)
diff --git a/src/test/java/com/android/tools/r8/profile/art/completeness/TwrCloseResourceDuplicationProfileRewritingTest.java b/src/test/java/com/android/tools/r8/profile/art/completeness/TwrCloseResourceDuplicationProfileRewritingTest.java
index f840c33f..3bb5e4c 100644
--- a/src/test/java/com/android/tools/r8/profile/art/completeness/TwrCloseResourceDuplicationProfileRewritingTest.java
+++ b/src/test/java/com/android/tools/r8/profile/art/completeness/TwrCloseResourceDuplicationProfileRewritingTest.java
@@ -98,6 +98,7 @@
ImmutableList.of(Reference.classFromClass(String.class)),
null))
.addMethodRule(
+ // NOTE: The $closeResource helper is _only_ generated by the JDK-9 compiler.
Reference.method(
FOO.getClassReference(), "$closeResource", closeResourceFormalParameters, null))
.addMethodRule(
@@ -107,6 +108,7 @@
ImmutableList.of(Reference.classFromClass(String.class)),
null))
.addMethodRule(
+ // NOTE: The $closeResource helper is _only_ generated by the JDK-9 compiler.
Reference.method(
BAR.getClassReference(), "$closeResource", closeResourceFormalParameters, null))
.build();