mirror of
https://github.com/github/codeql.git
synced 2026-04-26 17:25:19 +02:00
Extract generic type parameters as reference types even for primitive Kotlin types + add simplified array extraction
This commit is contained in:
@@ -1,5 +0,0 @@
|
||||
[VALUE_NOT_IN_TYPE] predicate typeArgs(@reftype argumentid, int pos, @typeorcallable parentid): Value 55 of field argumentid is not in type @reftype. The value is however in the following types: @primitive. Appears in tuple (55,0,189)
|
||||
Relevant element: argumentid=55
|
||||
Full ID for 55: @"type;boolean"
|
||||
Relevant element: parentid=189
|
||||
Full ID for 189: @"class;kotlin.reflect.KClass;(55)". The ID may expand to @"class;kotlin.reflect.KClass;{@"type;boolean"}"
|
||||
@@ -1,31 +0,0 @@
|
||||
[VALUE_NOT_IN_TYPE] predicate typeArgs(@reftype argumentid, int pos, @typeorcallable parentid): Value 12 of field argumentid is not in type @reftype. The value is however in the following types: @primitive. Appears in tuple (12,0,135)
|
||||
Relevant element: argumentid=12
|
||||
Full ID for 12: @"type;int"
|
||||
Relevant element: parentid=135
|
||||
Full ID for 135: @"class;foo.bar.C1;(12);(12)". The ID may expand to @"class;foo.bar.C1;{@"type;int"};{@"type;int"}"
|
||||
[VALUE_NOT_IN_TYPE] predicate typeArgs(@reftype argumentid, int pos, @typeorcallable parentid): Value 12 of field argumentid is not in type @reftype. The value is however in the following types: @primitive. Appears in tuple (12,0,206)
|
||||
Relevant element: argumentid=12
|
||||
Full ID for 12: @"type;int"
|
||||
Relevant element: parentid=206
|
||||
Full ID for 206: @"class;foo.bar.C0;(12)". The ID may expand to @"class;foo.bar.C0;{@"type;int"}"
|
||||
[VALUE_NOT_IN_TYPE] predicate typeArgs(@reftype argumentid, int pos, @typeorcallable parentid): Value 12 of field argumentid is not in type @reftype. The value is however in the following types: @primitive. Appears in tuple (12,1,135)
|
||||
Relevant element: argumentid=12
|
||||
Full ID for 12: @"type;int"
|
||||
Relevant element: parentid=135
|
||||
Full ID for 135: @"class;foo.bar.C1;(12);(12)". The ID may expand to @"class;foo.bar.C1;{@"type;int"};{@"type;int"}"
|
||||
[VALUE_NOT_IN_TYPE] predicate typeArgs(@reftype argumentid, int pos, @typeorcallable parentid): Value 12 of field argumentid is not in type @reftype. The value is however in the following types: @primitive. Appears in tuple (12,1,163)
|
||||
Relevant element: argumentid=12
|
||||
Full ID for 12: @"type;int"
|
||||
Relevant element: parentid=163
|
||||
Full ID for 163: @"class;foo.bar.C1;(14);(12)". The ID may expand to @"class;foo.bar.C1;{@"type;string"};{@"type;int"}"
|
||||
[VALUE_NOT_IN_TYPE] predicate typeArgs(@reftype argumentid, int pos, @typeorcallable parentid): Value 14 of field argumentid is not in type @reftype. The value is however in the following types: @primitive. Appears in tuple (14,0,152)
|
||||
Relevant element: argumentid=14
|
||||
Full ID for 14: @"type;string"
|
||||
Relevant element: parentid=152
|
||||
Full ID for 152: @"class;foo.bar.C1;(14);(14)". The ID may expand to @"class;foo.bar.C1;{@"type;string"};{@"type;string"}"
|
||||
[VALUE_NOT_IN_TYPE] predicate typeArgs(@reftype argumentid, int pos, @typeorcallable parentid): Value 14 of field argumentid is not in type @reftype. The value is however in the following types: @primitive. Appears in tuple (14,0,163)
|
||||
Relevant element: argumentid=14
|
||||
Full ID for 14: @"type;string"
|
||||
Relevant element: parentid=163
|
||||
Full ID for 163: @"class;foo.bar.C1;(14);(12)". The ID may expand to @"class;foo.bar.C1;{@"type;string"};{@"type;int"}"
|
||||
[VALUE_NOT_IN_TYPE] predicate typeArgs(@reftype argumentid, int pos, @typeorcallable parentid): More errors, not displayed. There are 7 values of field argumentid that are not in type @reftype for a relation of size 12
|
||||
@@ -4,18 +4,18 @@ genericType
|
||||
| generics.kt:13:1:18:1 | C1 | generics.kt:13:13:13:13 | W | 1 |
|
||||
parameterizedType
|
||||
| generics.kt:11:1:11:19 | C0 | generics.kt:11:1:11:19 | C0 | 0 | file://:0:0:0:0 | * |
|
||||
| generics.kt:11:1:11:19 | C0 | generics.kt:11:1:11:19 | C0 | 0 | file://:0:0:0:0 | int |
|
||||
| generics.kt:11:1:11:19 | C0 | generics.kt:11:1:11:19 | C0 | 0 | file://:0:0:0:0 | Int |
|
||||
| generics.kt:11:1:11:19 | C0 | generics.kt:11:1:11:19 | C0 | 0 | generics.kt:7:6:7:6 | S |
|
||||
| generics.kt:11:1:11:19 | C0 | generics.kt:11:1:11:19 | C0 | 0 | generics.kt:11:15:11:15 | V |
|
||||
| generics.kt:11:1:11:19 | C0 | generics.kt:11:1:11:19 | C0 | 0 | generics.kt:13:13:13:13 | W |
|
||||
| generics.kt:13:1:18:1 | C1 | generics.kt:13:1:18:1 | C1 | 0 | file://:0:0:0:0 | int |
|
||||
| generics.kt:13:1:18:1 | C1 | generics.kt:13:1:18:1 | C1 | 0 | file://:0:0:0:0 | string |
|
||||
| generics.kt:13:1:18:1 | C1 | generics.kt:13:1:18:1 | C1 | 0 | file://:0:0:0:0 | string |
|
||||
| generics.kt:13:1:18:1 | C1 | generics.kt:13:1:18:1 | C1 | 0 | file://:0:0:0:0 | Int |
|
||||
| generics.kt:13:1:18:1 | C1 | generics.kt:13:1:18:1 | C1 | 0 | file://:0:0:0:0 | String |
|
||||
| generics.kt:13:1:18:1 | C1 | generics.kt:13:1:18:1 | C1 | 0 | file://:0:0:0:0 | String |
|
||||
| generics.kt:13:1:18:1 | C1 | generics.kt:13:1:18:1 | C1 | 0 | generics.kt:13:10:13:10 | T |
|
||||
| generics.kt:13:1:18:1 | C1 | generics.kt:13:1:18:1 | C1 | 0 | generics.kt:15:10:15:10 | U |
|
||||
| generics.kt:13:1:18:1 | C1 | generics.kt:13:1:18:1 | C1 | 1 | file://:0:0:0:0 | int |
|
||||
| generics.kt:13:1:18:1 | C1 | generics.kt:13:1:18:1 | C1 | 1 | file://:0:0:0:0 | int |
|
||||
| generics.kt:13:1:18:1 | C1 | generics.kt:13:1:18:1 | C1 | 1 | file://:0:0:0:0 | string |
|
||||
| generics.kt:13:1:18:1 | C1 | generics.kt:13:1:18:1 | C1 | 1 | file://:0:0:0:0 | Int |
|
||||
| generics.kt:13:1:18:1 | C1 | generics.kt:13:1:18:1 | C1 | 1 | file://:0:0:0:0 | Int |
|
||||
| generics.kt:13:1:18:1 | C1 | generics.kt:13:1:18:1 | C1 | 1 | file://:0:0:0:0 | String |
|
||||
| generics.kt:13:1:18:1 | C1 | generics.kt:13:1:18:1 | C1 | 1 | generics.kt:13:13:13:13 | W |
|
||||
| generics.kt:13:1:18:1 | C1 | generics.kt:13:1:18:1 | C1 | 1 | generics.kt:15:10:15:10 | U |
|
||||
genericFunction
|
||||
|
||||
@@ -1,14 +1,18 @@
|
||||
import java
|
||||
|
||||
query predicate genericType(GenericType t, TypeVariable tv, int i) { t.getTypeParameter(i) = tv }
|
||||
query predicate genericType(GenericType t, TypeVariable tv, int i) {
|
||||
t.getTypeParameter(i) = tv and t.getFile().getExtension() = "kt"
|
||||
}
|
||||
|
||||
query predicate parameterizedType(ParameterizedType t, GenericType gt, int i, RefType ta) {
|
||||
t.getGenericType() = gt and
|
||||
t.getTypeArgument(i) = ta
|
||||
t.getTypeArgument(i) = ta and
|
||||
t.getFile().getExtension() = "kt"
|
||||
}
|
||||
|
||||
query predicate genericFunction(GenericCallable c, TypeVariable tv, int i) {
|
||||
c.getTypeParameter(i) = tv
|
||||
c.getTypeParameter(i) = tv and
|
||||
c.getFile().getExtension() = "kt"
|
||||
}
|
||||
|
||||
query predicate genericCall(GenericCall c, TypeVariable tv, Type t) { c.getATypeArgument(tv) = t }
|
||||
|
||||
Reference in New Issue
Block a user