Implement review findings + fix ID of nested types

This commit is contained in:
Tamas Vajk
2021-10-12 14:21:34 +02:00
committed by Ian Lynagh
parent 85e713fa31
commit 1a6d693618
3 changed files with 63 additions and 27 deletions

View File

@@ -475,7 +475,7 @@ class GenericCall extends Call {
result.(Wildcard).getUpperBound().getType() = v.getUpperBoundType()
}
private Type getAnExplicitTypeArgument(TypeVariable v) {
private RefType getAnExplicitTypeArgument(TypeVariable v) {
exists(GenericCallable gen, MethodAccess call, int i |
this = call and
gen = call.getCallee() and
@@ -485,7 +485,7 @@ class GenericCall extends Call {
}
/** Gets a type argument of the call for the given `TypeVariable`. */
Type getATypeArgument(TypeVariable v) {
RefType getATypeArgument(TypeVariable v) {
result = getAnExplicitTypeArgument(v)
or
not exists(this.getAnExplicitTypeArgument(v)) and

View File

@@ -24,14 +24,14 @@ genericFunction
| generics.kt:15:5:17:5 | f2 | generics.kt:15:10:15:10 | U | 0 |
| generics.kt:21:5:21:23 | f4 | generics.kt:21:10:21:10 | P | 0 |
genericCall
| generics.kt:27:17:27:22 | f2(...) | generics.kt:15:10:15:10 | U | file://:0:0:0:0 | string |
| generics.kt:30:17:30:21 | f2(...) | generics.kt:15:10:15:10 | U | file://:0:0:0:0 | int |
| generics.kt:32:8:32:12 | f4(...) | generics.kt:21:10:21:10 | P | file://:0:0:0:0 | int |
| generics.kt:27:17:27:22 | f2(...) | generics.kt:15:10:15:10 | U | file://:0:0:0:0 | String |
| generics.kt:30:17:30:21 | f2(...) | generics.kt:15:10:15:10 | U | file://:0:0:0:0 | Int |
| generics.kt:32:8:32:12 | f4(...) | generics.kt:21:10:21:10 | P | file://:0:0:0:0 | Int |
genericCtor
| generics.kt:16:16:16:26 | new C1(...) | 0 | generics.kt:15:10:15:10 | U |
| generics.kt:16:16:16:26 | new C1(...) | 1 | generics.kt:15:10:15:10 | U |
| generics.kt:25:14:25:28 | new C1(...) | 0 | file://:0:0:0:0 | int |
| generics.kt:25:14:25:28 | new C1(...) | 1 | file://:0:0:0:0 | int |
| generics.kt:28:14:28:32 | new C1(...) | 0 | file://:0:0:0:0 | string |
| generics.kt:28:14:28:32 | new C1(...) | 1 | file://:0:0:0:0 | int |
| generics.kt:33:21:33:29 | new C0(...) | 0 | file://:0:0:0:0 | int |
| generics.kt:25:14:25:28 | new C1(...) | 0 | file://:0:0:0:0 | Int |
| generics.kt:25:14:25:28 | new C1(...) | 1 | file://:0:0:0:0 | Int |
| generics.kt:28:14:28:32 | new C1(...) | 0 | file://:0:0:0:0 | String |
| generics.kt:28:14:28:32 | new C1(...) | 1 | file://:0:0:0:0 | Int |
| generics.kt:33:21:33:29 | new C0(...) | 0 | file://:0:0:0:0 | Int |