Skip to content

Commit 9182da1

Browse files
committed
Kotlin: Add a test for nested types
1 parent 1efecc0 commit 9182da1

File tree

3 files changed

+36
-0
lines changed

3 files changed

+36
-0
lines changed
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
2+
import java.util.Stack;
3+
4+
// Diagnostic Matches: %Making use of Stack a raw type to avoid infinite recursion%
5+
6+
class MyType
7+
8+
fun foo1(x: List<List<List<List<MyType>>>>) { }
9+
10+
fun foo2(x: Stack<Stack<Stack<Stack<MyType>>>>) { }
11+
12+
class MkT<T> { }
13+
14+
fun foo3(x: MkT<MkT<MkT<MkT<MyType>>>>) { }
15+
16+
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
| file:///!unknown-binary-location/MkT.class:0:0:0:0 | MkT<MkT<MkT<MkT<MyType>>>> |
2+
| file:///!unknown-binary-location/MkT.class:0:0:0:0 | MkT<MkT<MkT<MyType>>> |
3+
| file:///!unknown-binary-location/MkT.class:0:0:0:0 | MkT<MkT<MyType>> |
4+
| file:///!unknown-binary-location/MkT.class:0:0:0:0 | MkT<MyType> |
5+
| file:///modules/java.base/java/util/List.class:0:0:0:0 | List<? extends List<? extends List<? extends List<MyType>>>> |
6+
| file:///modules/java.base/java/util/List.class:0:0:0:0 | List<? extends List<? extends List<MyType>>> |
7+
| file:///modules/java.base/java/util/List.class:0:0:0:0 | List<? extends List<MyType>> |
8+
| file:///modules/java.base/java/util/List.class:0:0:0:0 | List<MyType> |
9+
| file:///modules/java.base/java/util/List.class:0:0:0:0 | List<Stack<MyType>> |
10+
| file:///modules/java.base/java/util/Stack.class:0:0:0:0 | Stack<MyType> |
11+
| file:///modules/java.base/java/util/Stack.class:0:0:0:0 | Stack<Stack<MyType>> |
12+
| file:///modules/java.base/java/util/Stack.class:0:0:0:0 | Stack<Stack<Stack<MyType>>> |
13+
| file:///modules/java.base/java/util/Stack.class:0:0:0:0 | Stack<Stack<Stack<Stack<MyType>>>> |
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import java
2+
3+
from Type t
4+
where
5+
t.getName().matches("%MyType%") and
6+
t.getName().matches(["List<%", "Stack<%", "MkT<%"])
7+
select t

0 commit comments

Comments
 (0)