Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 4e36b24

Browse files
smowtonigfoo
authored andcommitted
Add test of selective generic extraction
1 parent b8af2e6 commit 4e36b24

4 files changed

Lines changed: 151 additions & 0 deletions

File tree

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
public class Test<T> {
2+
3+
public T field;
4+
public T method() { return field; }
5+
6+
}
7+
8+
class FieldUsed {}
9+
class MethodUsed {}
10+
class ConstructorUsed {}
11+
class NeitherUsed {}
12+
13+
class User {
14+
15+
public static void test(Test<NeitherUsed> neitherUsed, Test<MethodUsed> methodUsed, Test<FieldUsed> fieldUsed) {
16+
17+
fieldUsed.field = null;
18+
methodUsed.method();
19+
Test<ConstructorUsed> constructorUsed = new Test<ConstructorUsed>();
20+
21+
}
22+
23+
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
class TestKt<T> {
2+
3+
var field: T? = null
4+
@JvmField
5+
var rawField: T? = null
6+
fun method() = field
7+
8+
}
9+
10+
class FieldUsedKt {}
11+
class RawFieldUsedKt {}
12+
class MethodUsedKt {}
13+
class ConstructorUsedKt {}
14+
class NeitherUsedKt {}
15+
16+
class UserKt {
17+
18+
fun test(neitherUsed: TestKt<NeitherUsedKt>, methodUsed: TestKt<MethodUsedKt>, fieldUsed: TestKt<FieldUsedKt>, rawFieldUsed: TestKt<RawFieldUsedKt>) {
19+
20+
fieldUsed.field = null
21+
rawFieldUsed.rawField = null
22+
methodUsed.method()
23+
val constructorUsed = TestKt<ConstructorUsedKt>()
24+
25+
}
26+
27+
}
Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
| Test.class:0:0:0:0 | Test<ConstructorUsed> | Test.class:0:0:0:0 | Test<ConstructorUsed> |
2+
| Test.class:0:0:0:0 | Test<ConstructorUsed> | Test.class:0:0:0:0 | method |
3+
| Test.class:0:0:0:0 | Test<MethodUsed> | Test.class:0:0:0:0 | Test<MethodUsed> |
4+
| Test.class:0:0:0:0 | Test<MethodUsed> | Test.class:0:0:0:0 | method |
5+
| Test.java:1:14:1:17 | Test | Test.java:1:14:1:17 | Test |
6+
| Test.java:1:14:1:17 | Test | Test.java:3:12:3:16 | field |
7+
| Test.java:1:14:1:17 | Test | Test.java:4:12:4:17 | method |
8+
| Test.java:8:7:8:15 | FieldUsed | Test.java:8:7:8:15 | FieldUsed |
9+
| Test.java:9:7:9:16 | MethodUsed | Test.java:9:7:9:16 | MethodUsed |
10+
| Test.java:10:7:10:21 | ConstructorUsed | Test.java:10:7:10:21 | ConstructorUsed |
11+
| Test.java:11:7:11:17 | NeitherUsed | Test.java:11:7:11:17 | NeitherUsed |
12+
| Test.java:13:7:13:10 | User | Test.java:13:7:13:10 | User |
13+
| Test.java:13:7:13:10 | User | Test.java:15:22:15:25 | test |
14+
| Test.kt:0:0:0:0 | TestKt | Test.kt:1:1:8:1 | <obinit> |
15+
| Test.kt:0:0:0:0 | TestKt | Test.kt:1:1:8:1 | TestKt |
16+
| Test.kt:0:0:0:0 | TestKt | Test.kt:1:1:8:1 | equals |
17+
| Test.kt:0:0:0:0 | TestKt | Test.kt:1:1:8:1 | hashCode |
18+
| Test.kt:0:0:0:0 | TestKt | Test.kt:1:1:8:1 | toString |
19+
| Test.kt:0:0:0:0 | TestKt | Test.kt:3:3:3:22 | <get-field> |
20+
| Test.kt:0:0:0:0 | TestKt | Test.kt:3:3:3:22 | <set-field> |
21+
| Test.kt:0:0:0:0 | TestKt | Test.kt:3:3:3:22 | field |
22+
| Test.kt:0:0:0:0 | TestKt | Test.kt:4:3:5:25 | rawField |
23+
| Test.kt:0:0:0:0 | TestKt | Test.kt:5:3:5:25 | <get-rawField> |
24+
| Test.kt:0:0:0:0 | TestKt | Test.kt:5:3:5:25 | <set-rawField> |
25+
| Test.kt:0:0:0:0 | TestKt | Test.kt:6:3:6:22 | method |
26+
| Test.kt:1:1:8:1 | TestKt | Test.kt:1:1:8:1 | <obinit> |
27+
| Test.kt:1:1:8:1 | TestKt | Test.kt:1:1:8:1 | TestKt |
28+
| Test.kt:1:1:8:1 | TestKt | Test.kt:1:1:8:1 | equals |
29+
| Test.kt:1:1:8:1 | TestKt | Test.kt:1:1:8:1 | hashCode |
30+
| Test.kt:1:1:8:1 | TestKt | Test.kt:1:1:8:1 | toString |
31+
| Test.kt:1:1:8:1 | TestKt | Test.kt:3:3:3:22 | <get-field> |
32+
| Test.kt:1:1:8:1 | TestKt | Test.kt:3:3:3:22 | <set-field> |
33+
| Test.kt:1:1:8:1 | TestKt | Test.kt:3:3:3:22 | field |
34+
| Test.kt:1:1:8:1 | TestKt | Test.kt:4:3:5:25 | rawField |
35+
| Test.kt:1:1:8:1 | TestKt | Test.kt:5:3:5:25 | <get-rawField> |
36+
| Test.kt:1:1:8:1 | TestKt | Test.kt:5:3:5:25 | <set-rawField> |
37+
| Test.kt:1:1:8:1 | TestKt | Test.kt:6:3:6:22 | method |
38+
| Test.kt:1:1:8:1 | TestKt<FieldUsedKt> | Test.kt:1:1:8:1 | TestKt<FieldUsedKt> |
39+
| Test.kt:1:1:8:1 | TestKt<FieldUsedKt> | Test.kt:1:1:8:1 | equals |
40+
| Test.kt:1:1:8:1 | TestKt<FieldUsedKt> | Test.kt:1:1:8:1 | hashCode |
41+
| Test.kt:1:1:8:1 | TestKt<FieldUsedKt> | Test.kt:1:1:8:1 | toString |
42+
| Test.kt:1:1:8:1 | TestKt<FieldUsedKt> | Test.kt:3:3:3:22 | <get-field> |
43+
| Test.kt:1:1:8:1 | TestKt<FieldUsedKt> | Test.kt:3:3:3:22 | <set-field> |
44+
| Test.kt:1:1:8:1 | TestKt<FieldUsedKt> | Test.kt:5:3:5:25 | <get-rawField> |
45+
| Test.kt:1:1:8:1 | TestKt<FieldUsedKt> | Test.kt:5:3:5:25 | <set-rawField> |
46+
| Test.kt:1:1:8:1 | TestKt<FieldUsedKt> | Test.kt:6:3:6:22 | method |
47+
| Test.kt:1:1:8:1 | TestKt<MethodUsedKt> | Test.kt:1:1:8:1 | TestKt<MethodUsedKt> |
48+
| Test.kt:1:1:8:1 | TestKt<MethodUsedKt> | Test.kt:1:1:8:1 | equals |
49+
| Test.kt:1:1:8:1 | TestKt<MethodUsedKt> | Test.kt:1:1:8:1 | hashCode |
50+
| Test.kt:1:1:8:1 | TestKt<MethodUsedKt> | Test.kt:1:1:8:1 | toString |
51+
| Test.kt:1:1:8:1 | TestKt<MethodUsedKt> | Test.kt:3:3:3:22 | <get-field> |
52+
| Test.kt:1:1:8:1 | TestKt<MethodUsedKt> | Test.kt:3:3:3:22 | <set-field> |
53+
| Test.kt:1:1:8:1 | TestKt<MethodUsedKt> | Test.kt:5:3:5:25 | <get-rawField> |
54+
| Test.kt:1:1:8:1 | TestKt<MethodUsedKt> | Test.kt:5:3:5:25 | <set-rawField> |
55+
| Test.kt:1:1:8:1 | TestKt<MethodUsedKt> | Test.kt:6:3:6:22 | method |
56+
| Test.kt:1:1:8:1 | TestKt<RawFieldUsedKt> | Test.kt:1:1:8:1 | TestKt<RawFieldUsedKt> |
57+
| Test.kt:1:1:8:1 | TestKt<RawFieldUsedKt> | Test.kt:1:1:8:1 | equals |
58+
| Test.kt:1:1:8:1 | TestKt<RawFieldUsedKt> | Test.kt:1:1:8:1 | hashCode |
59+
| Test.kt:1:1:8:1 | TestKt<RawFieldUsedKt> | Test.kt:1:1:8:1 | toString |
60+
| Test.kt:1:1:8:1 | TestKt<RawFieldUsedKt> | Test.kt:3:3:3:22 | <get-field> |
61+
| Test.kt:1:1:8:1 | TestKt<RawFieldUsedKt> | Test.kt:3:3:3:22 | <set-field> |
62+
| Test.kt:1:1:8:1 | TestKt<RawFieldUsedKt> | Test.kt:5:3:5:25 | <get-rawField> |
63+
| Test.kt:1:1:8:1 | TestKt<RawFieldUsedKt> | Test.kt:5:3:5:25 | <set-rawField> |
64+
| Test.kt:1:1:8:1 | TestKt<RawFieldUsedKt> | Test.kt:6:3:6:22 | method |
65+
| Test.kt:10:1:10:20 | FieldUsedKt | Test.kt:10:1:10:20 | <obinit> |
66+
| Test.kt:10:1:10:20 | FieldUsedKt | Test.kt:10:1:10:20 | FieldUsedKt |
67+
| Test.kt:10:1:10:20 | FieldUsedKt | Test.kt:10:1:10:20 | equals |
68+
| Test.kt:10:1:10:20 | FieldUsedKt | Test.kt:10:1:10:20 | hashCode |
69+
| Test.kt:10:1:10:20 | FieldUsedKt | Test.kt:10:1:10:20 | toString |
70+
| Test.kt:11:1:11:23 | RawFieldUsedKt | Test.kt:11:1:11:23 | <obinit> |
71+
| Test.kt:11:1:11:23 | RawFieldUsedKt | Test.kt:11:1:11:23 | RawFieldUsedKt |
72+
| Test.kt:11:1:11:23 | RawFieldUsedKt | Test.kt:11:1:11:23 | equals |
73+
| Test.kt:11:1:11:23 | RawFieldUsedKt | Test.kt:11:1:11:23 | hashCode |
74+
| Test.kt:11:1:11:23 | RawFieldUsedKt | Test.kt:11:1:11:23 | toString |
75+
| Test.kt:12:1:12:21 | MethodUsedKt | Test.kt:12:1:12:21 | <obinit> |
76+
| Test.kt:12:1:12:21 | MethodUsedKt | Test.kt:12:1:12:21 | MethodUsedKt |
77+
| Test.kt:12:1:12:21 | MethodUsedKt | Test.kt:12:1:12:21 | equals |
78+
| Test.kt:12:1:12:21 | MethodUsedKt | Test.kt:12:1:12:21 | hashCode |
79+
| Test.kt:12:1:12:21 | MethodUsedKt | Test.kt:12:1:12:21 | toString |
80+
| Test.kt:13:1:13:26 | ConstructorUsedKt | Test.kt:13:1:13:26 | <obinit> |
81+
| Test.kt:13:1:13:26 | ConstructorUsedKt | Test.kt:13:1:13:26 | ConstructorUsedKt |
82+
| Test.kt:13:1:13:26 | ConstructorUsedKt | Test.kt:13:1:13:26 | equals |
83+
| Test.kt:13:1:13:26 | ConstructorUsedKt | Test.kt:13:1:13:26 | hashCode |
84+
| Test.kt:13:1:13:26 | ConstructorUsedKt | Test.kt:13:1:13:26 | toString |
85+
| Test.kt:14:1:14:22 | NeitherUsedKt | Test.kt:14:1:14:22 | <obinit> |
86+
| Test.kt:14:1:14:22 | NeitherUsedKt | Test.kt:14:1:14:22 | NeitherUsedKt |
87+
| Test.kt:14:1:14:22 | NeitherUsedKt | Test.kt:14:1:14:22 | equals |
88+
| Test.kt:14:1:14:22 | NeitherUsedKt | Test.kt:14:1:14:22 | hashCode |
89+
| Test.kt:14:1:14:22 | NeitherUsedKt | Test.kt:14:1:14:22 | toString |
90+
| Test.kt:16:1:27:1 | UserKt | Test.kt:16:1:27:1 | <obinit> |
91+
| Test.kt:16:1:27:1 | UserKt | Test.kt:16:1:27:1 | UserKt |
92+
| Test.kt:16:1:27:1 | UserKt | Test.kt:16:1:27:1 | equals |
93+
| Test.kt:16:1:27:1 | UserKt | Test.kt:16:1:27:1 | hashCode |
94+
| Test.kt:16:1:27:1 | UserKt | Test.kt:16:1:27:1 | toString |
95+
| Test.kt:16:1:27:1 | UserKt | Test.kt:18:3:25:3 | test |
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
import java
2+
3+
from RefType rt, Member m
4+
where rt.getSourceDeclaration().fromSource()
5+
and m.getDeclaringType() = rt
6+
select rt, m

0 commit comments

Comments
 (0)