Java: Add some test cases.

This commit is contained in:
Anders Schack-Mulligen
2020-09-01 11:24:30 +02:00
parent d82fee11b1
commit 82692876d8
2 changed files with 43 additions and 1 deletions

View File

@@ -1,7 +1,7 @@
public class A {
record Pair(Object x, Object y) { }
Object source() { return null; }
static Object source() { return null; }
void sink(Object o) { }
@@ -25,4 +25,41 @@ public class A {
sink(p2x);
sink(p2y);
}
record RecWithGetter(Object f) {
public Object f() {
return this.f;
}
}
record RecWithWeirdGetter1(Object f) {
public Object f() {
return new Object();
}
}
record RecWithWeirdGetter2(Object f) {
public Object f() {
return source();
}
}
void testExplicitGetter1() {
RecWithGetter r1 = new RecWithGetter(source());
RecWithWeirdGetter1 r2 = new RecWithWeirdGetter1(source());
RecWithWeirdGetter2 r3 = new RecWithWeirdGetter2(source());
testExplicitGetter2(r1, r2, r3);
}
void testExplicitGetter2(RecWithGetter r1, RecWithWeirdGetter1 r2, RecWithWeirdGetter2 r3) {
sink(r1.f);
sink(r2.f);
sink(r3.f);
Object r1f = r1.f();
Object r2f = r2.f();
Object r3f = r3.f();
sink(r1f);
sink(r2f);
sink(r3f);
}
}

View File

@@ -2,3 +2,8 @@
| A.java:9:24:9:31 | source(...) | A.java:23:10:23:12 | p1x |
| A.java:10:38:10:45 | source(...) | A.java:18:10:18:13 | p2.y |
| A.java:10:38:10:45 | source(...) | A.java:26:10:26:12 | p2y |
| A.java:43:14:43:21 | source(...) | A.java:63:10:63:12 | r3f |
| A.java:48:42:48:49 | source(...) | A.java:55:10:55:13 | r1.f |
| A.java:48:42:48:49 | source(...) | A.java:61:10:61:12 | r1f |
| A.java:49:54:49:61 | source(...) | A.java:56:10:56:13 | r2.f |
| A.java:50:54:50:61 | source(...) | A.java:57:10:57:13 | r3.f |