summaryrefslogtreecommitdiff
path: root/lint/libs/lint-tests/src/test/java/com/android/tools/lint/checks/CheckResultDetectorTest.kt
diff options
context:
space:
mode:
Diffstat (limited to 'lint/libs/lint-tests/src/test/java/com/android/tools/lint/checks/CheckResultDetectorTest.kt')
-rw-r--r--lint/libs/lint-tests/src/test/java/com/android/tools/lint/checks/CheckResultDetectorTest.kt43
1 files changed, 42 insertions, 1 deletions
diff --git a/lint/libs/lint-tests/src/test/java/com/android/tools/lint/checks/CheckResultDetectorTest.kt b/lint/libs/lint-tests/src/test/java/com/android/tools/lint/checks/CheckResultDetectorTest.kt
index 8dc665c58f..314c3be162 100644
--- a/lint/libs/lint-tests/src/test/java/com/android/tools/lint/checks/CheckResultDetectorTest.kt
+++ b/lint/libs/lint-tests/src/test/java/com/android/tools/lint/checks/CheckResultDetectorTest.kt
@@ -1656,7 +1656,7 @@ class CheckResultDetectorTest : AbstractCheckTest() {
public Object getLock() { return Api.class; }
public void test() {
synchronized (getLock()) {
- println("Test");
+ System.out.println("Test");
}
}
}
@@ -1675,6 +1675,47 @@ class CheckResultDetectorTest : AbstractCheckTest() {
).run().expectClean()
}
+ fun testSynchronizedUnused() {
+ // 242305422: CheckResultDetector allows unused results in Java synchronized expressions.
+ lint().files(
+ java(
+ """
+ import androidx.annotation.CheckResult;
+ public class Api {
+ @CheckResult
+ public Object getLock() { return Api.class; }
+ public void test() {
+ synchronized (getLock()) {
+ getLock(); // ERROR
+ System.out.println("test");
+ }
+ }
+ }
+ """
+ ).indented(),
+ kotlin(
+ """
+ class Api2 : Api() {
+ fun test2() {
+ synchronized(getLock()) { getLock(); println("test") } // ERROR
+ }
+ }
+ """
+ ).indented(),
+ SUPPORT_ANNOTATIONS_JAR
+ ).run().expect(
+ """
+ src/Api.java:7: Warning: The result of getLock is not used [CheckResult]
+ getLock(); // ERROR
+ ~~~~~~~~~
+ src/Api2.kt:3: Warning: The result of getLock is not used [CheckResult]
+ synchronized(getLock()) { getLock(); println("test") } // ERROR
+ ~~~~~~~~~
+ 0 errors, 2 warnings
+ """
+ )
+ }
+
fun testKotlinTest() {
lint().files(
kotlin(