Add test case

This commit is contained in:
Chris Smowton
2022-03-17 18:55:25 +00:00
committed by Ian Lynagh
parent 96908d153d
commit 61b0efb401
3 changed files with 54 additions and 0 deletions

View File

@@ -0,0 +1,36 @@
| generic_anonymous.kt:1:26:1:33 | ...=... | T |
| generic_anonymous.kt:1:26:1:33 | T | T |
| generic_anonymous.kt:1:26:1:33 | t | T |
| generic_anonymous.kt:1:26:1:33 | t | T |
| generic_anonymous.kt:1:26:1:33 | this | Generic<T> |
| generic_anonymous.kt:1:26:1:33 | this.t | T |
| generic_anonymous.kt:3:3:5:3 | ...=... | new Object(...) { ... } |
| generic_anonymous.kt:3:3:5:3 | T | T |
| generic_anonymous.kt:3:3:5:3 | new Object(...) { ... } | new Object(...) { ... } |
| generic_anonymous.kt:3:3:5:3 | x | new Object(...) { ... } |
| generic_anonymous.kt:3:11:5:3 | this | Generic<T> |
| generic_anonymous.kt:3:11:5:3 | this.x | new Object(...) { ... } |
| generic_anonymous.kt:3:19:5:3 | <Stmt> | new Object(...) { ... } |
| generic_anonymous.kt:3:19:5:3 | Object | Object |
| generic_anonymous.kt:3:19:5:3 | new (...) | new Object(...) { ... } |
| generic_anonymous.kt:4:7:4:20 | ...=... | T |
| generic_anonymous.kt:4:7:4:20 | T | T |
| generic_anonymous.kt:4:7:4:20 | member | T |
| generic_anonymous.kt:4:7:4:20 | this | new Object(...) { ... } |
| generic_anonymous.kt:4:7:4:20 | this.member | T |
| generic_anonymous.kt:4:20:4:20 | Generic | Generic |
| generic_anonymous.kt:4:20:4:20 | Generic.this | Generic<T> |
| generic_anonymous.kt:4:20:4:20 | getT(...) | T |
| generic_anonymous.kt:7:15:7:15 | getX(...) | new Object(...) { ... } |
| generic_anonymous.kt:7:15:7:15 | this | Generic<T> |
| generic_anonymous.kt:7:17:7:22 | getMember(...) | T |
| generic_anonymous.kt:11:33:11:50 | Generic<String> | Generic<String> |
| generic_anonymous.kt:11:33:11:50 | String | String |
| generic_anonymous.kt:11:33:11:50 | new Generic<String>(...) | Generic<String> |
| generic_anonymous.kt:11:49:11:49 | s | String |
| generic_anonymous.kt:11:52:11:56 | get(...) | String |
| generic_anonymous.kt:13:27:13:41 | Generic<Integer> | Generic<Integer> |
| generic_anonymous.kt:13:27:13:41 | Integer | Integer |
| generic_anonymous.kt:13:27:13:41 | new Generic<Integer>(...) | Generic<Integer> |
| generic_anonymous.kt:13:40:13:40 | i | int |
| generic_anonymous.kt:13:43:13:47 | get(...) | int |

View File

@@ -0,0 +1,5 @@
import java
from Expr e
where e.getLocation().getFile().getBaseName() = "generic_anonymous.kt"
select e, e.getType().toString()

View File

@@ -0,0 +1,13 @@
private class Generic<T>(val t: T) {
private val x = object {
val member = t
}
fun get() = x.member
}
fun stringIdentity(s: String) = Generic<String>(s).get()
fun intIdentity(i: Int) = Generic<Int>(i).get()