Only report locations without a source offset in non-source files

Also adjust tests that would otherwise report types with locations outside the source tree (i.e., for the most part in the standard library)
This commit is contained in:
Chris Smowton
2021-11-15 16:23:52 +00:00
committed by Ian Lynagh
parent c2fef58b21
commit bde4534050
12 changed files with 1918 additions and 4543 deletions

View File

@@ -4,9 +4,9 @@ cloneMethods
| file://:0:0:0:0 | clone | clone() | file://:0:0:0:0 | int[] | file://:0:0:0:0 | int[] | file://:0:0:0:0 | Kotlin nullable IntArray |
| file://:0:0:0:0 | clone | clone() | file://:0:0:0:0 | int[][] | file://:0:0:0:0 | int[][] | file://:0:0:0:0 | Kotlin nullable Array<int[]> |
#select
| primitiveArrays.kt:5:12:5:24 | a | file://:0:0:0:0 | Integer[] | file://:0:0:0:0 | Integer | file://:0:0:0:0 | Integer | file://:0:0:0:0 | Kotlin not-null Array<Integer> |
| primitiveArrays.kt:5:27:5:40 | b | file://:0:0:0:0 | Integer[] | file://:0:0:0:0 | Integer | file://:0:0:0:0 | Integer | file://:0:0:0:0 | Kotlin not-null Array<Integer> |
| primitiveArrays.kt:5:43:5:53 | c | file://:0:0:0:0 | int[] | file://:0:0:0:0 | int | file://:0:0:0:0 | int | file://:0:0:0:0 | Kotlin not-null IntArray |
| primitiveArrays.kt:5:56:5:76 | d | file://:0:0:0:0 | Integer[][] | file://:0:0:0:0 | Integer[] | file://:0:0:0:0 | Integer | file://:0:0:0:0 | Kotlin not-null Array<Integer[]> |
| primitiveArrays.kt:5:79:5:98 | e | file://:0:0:0:0 | Integer[][] | file://:0:0:0:0 | Integer[] | file://:0:0:0:0 | Integer | file://:0:0:0:0 | Kotlin not-null Array<Integer[]> |
| primitiveArrays.kt:5:101:5:118 | f | file://:0:0:0:0 | int[][] | file://:0:0:0:0 | int[] | file://:0:0:0:0 | int | file://:0:0:0:0 | Kotlin not-null Array<int[]> |
| primitiveArrays.kt:5:12:5:24 | a | file://:0:0:0:0 | Integer[] | Integer | Integer | file://:0:0:0:0 | Kotlin not-null Array<Integer> |
| primitiveArrays.kt:5:27:5:40 | b | file://:0:0:0:0 | Integer[] | Integer | Integer | file://:0:0:0:0 | Kotlin not-null Array<Integer> |
| primitiveArrays.kt:5:43:5:53 | c | file://:0:0:0:0 | int[] | int | int | file://:0:0:0:0 | Kotlin not-null IntArray |
| primitiveArrays.kt:5:56:5:76 | d | file://:0:0:0:0 | Integer[][] | Integer[] | Integer | file://:0:0:0:0 | Kotlin not-null Array<Integer[]> |
| primitiveArrays.kt:5:79:5:98 | e | file://:0:0:0:0 | Integer[][] | Integer[] | Integer | file://:0:0:0:0 | Kotlin not-null Array<Integer[]> |
| primitiveArrays.kt:5:101:5:118 | f | file://:0:0:0:0 | int[][] | int[] | int | file://:0:0:0:0 | Kotlin not-null Array<int[]> |

View File

@@ -8,7 +8,7 @@ class InterestingParameter extends Parameter {
from InterestingParameter p, Array a, KotlinType ktType
where p.getType() = a and ktType = p.getKotlinType()
select p, a, a.getComponentType(), a.getElementType(), ktType
select p, a, a.getComponentType().toString(), a.getElementType().toString(), ktType
query predicate cloneMethods(Method m, string signature, Array declType, Type returnType, KotlinType ktReturnType) {
any(InterestingParameter p).getType() = declType and

View File

@@ -1,11 +1,11 @@
| classes.kt:2:1:2:18 | ClassOne | file://:0:0:0:0 | Object |
| classes.kt:4:1:6:1 | ClassTwo | file://:0:0:0:0 | Object |
| classes.kt:8:1:10:1 | ClassThree | file://:0:0:0:0 | Object |
| classes.kt:12:1:15:1 | ClassFour | classes.kt:8:1:10:1 | ClassThree |
| classes.kt:17:1:18:1 | ClassFive | classes.kt:12:1:15:1 | ClassFour |
| classes.kt:28:1:30:1 | ClassSix | classes.kt:12:1:15:1 | ClassFour |
| classes.kt:28:1:30:1 | ClassSix | classes.kt:20:1:22:1 | IF1 |
| classes.kt:28:1:30:1 | ClassSix | classes.kt:24:1:26:1 | IF2 |
| classes.kt:34:1:47:1 | ClassSeven | file://:0:0:0:0 | Object |
| classes.kt:49:1:51:1 | Direction | file://:0:0:0:0 | Enum<Direction> |
| classes.kt:53:1:57:1 | Color | file://:0:0:0:0 | Enum<Color> |
| classes.kt:2:1:2:18 | ClassOne | Object |
| classes.kt:4:1:6:1 | ClassTwo | Object |
| classes.kt:8:1:10:1 | ClassThree | Object |
| classes.kt:12:1:15:1 | ClassFour | ClassThree |
| classes.kt:17:1:18:1 | ClassFive | ClassFour |
| classes.kt:28:1:30:1 | ClassSix | ClassFour |
| classes.kt:28:1:30:1 | ClassSix | IF1 |
| classes.kt:28:1:30:1 | ClassSix | IF2 |
| classes.kt:34:1:47:1 | ClassSeven | Object |
| classes.kt:49:1:51:1 | Direction | Enum<Direction> |
| classes.kt:53:1:57:1 | Color | Enum<Color> |

View File

@@ -2,5 +2,5 @@ import java
from Class c
where c.fromSource()
select c, c.getASupertype()
select c, c.getASupertype().toString()

View File

@@ -12,14 +12,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 | Integer |
| generics.kt:32:8:32:12 | f4(...) | generics.kt:21:10:21:10 | P | file://:0:0:0:0 | Integer |
| generics.kt:27:17:27:22 | f2(...) | generics.kt:15:10:15:10 | U | String |
| generics.kt:30:17:30:21 | f2(...) | generics.kt:15:10:15:10 | U | Integer |
| generics.kt:32:8:32:12 | f4(...) | generics.kt:21:10:21:10 | P | Integer |
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 | Integer |
| generics.kt:25:14:25:28 | new C1(...) | 1 | file://:0:0:0:0 | Integer |
| 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 | Integer |
| generics.kt:33:21:33:29 | new C0(...) | 0 | file://:0:0:0:0 | Integer |
| generics.kt:16:16:16:26 | new C1(...) | 0 | U |
| generics.kt:16:16:16:26 | new C1(...) | 1 | U |
| generics.kt:25:14:25:28 | new C1(...) | 0 | Integer |
| generics.kt:25:14:25:28 | new C1(...) | 1 | Integer |
| generics.kt:28:14:28:32 | new C1(...) | 0 | String |
| generics.kt:28:14:28:32 | new C1(...) | 1 | Integer |
| generics.kt:33:21:33:29 | new C0(...) | 0 | Integer |

View File

@@ -15,8 +15,10 @@ query predicate genericFunction(GenericCallable c, TypeVariable tv, int i) {
c.getFile().getExtension() = "kt"
}
query predicate genericCall(GenericCall c, TypeVariable tv, Type t) { c.getATypeArgument(tv) = t }
query predicate genericCtor(ClassInstanceExpr c, int i, Type ta) {
c.getTypeArgument(i).getType() = ta
query predicate genericCall(GenericCall c, TypeVariable tv, string t) {
c.getATypeArgument(tv).toString() = t
}
query predicate genericCtor(ClassInstanceExpr c, int i, string ta) {
c.getTypeArgument(i).getType().toString() = ta
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,5 @@
import java
from Type t
select t, concat(t.getAPrimaryQlClass(), ", ")
select t.toString(), concat(t.getAPrimaryQlClass(), ", ")

View File

@@ -1,11 +1,11 @@
| variables.kt:2:1:8:1 | other | file://:0:0:0:0 | Object | file://:0:0:0:0 | <none> |
| variables.kt:3:5:3:21 | prop | file://:0:0:0:0 | int | variables.kt:3:21:3:21 | 1 |
| variables.kt:5:20:5:29 | param | file://:0:0:0:0 | int | file://:0:0:0:0 | <none> |
| variables.kt:6:9:6:25 | int local | file://:0:0:0:0 | int | variables.kt:6:21:6:25 | ... + ... |
| variables.kt:10:1:10:21 | topLevel | file://:0:0:0:0 | int | file://:0:0:0:0 | <none> |
| variables.kt:12:1:15:1 | other | file://:0:0:0:0 | Object | file://:0:0:0:0 | <none> |
| variables.kt:16:1:34:1 | other | file://:0:0:0:0 | Object | file://:0:0:0:0 | <none> |
| variables.kt:16:11:16:18 | o | variables.kt:12:1:15:1 | C1 | file://:0:0:0:0 | <none> |
| variables.kt:16:11:16:18 | o | variables.kt:12:1:15:1 | C1 | variables.kt:16:11:16:18 | o |
| variables.kt:36:1:45:1 | other | file://:0:0:0:0 | Object | file://:0:0:0:0 | <none> |
| variables.kt:38:11:44:5 | other | file://:0:0:0:0 | Object | file://:0:0:0:0 | <none> |
| variables.kt:2:1:8:1 | other | Object | file://:0:0:0:0 | <none> |
| variables.kt:3:5:3:21 | prop | int | variables.kt:3:21:3:21 | 1 |
| variables.kt:5:20:5:29 | param | int | file://:0:0:0:0 | <none> |
| variables.kt:6:9:6:25 | int local | int | variables.kt:6:21:6:25 | ... + ... |
| variables.kt:10:1:10:21 | topLevel | int | file://:0:0:0:0 | <none> |
| variables.kt:12:1:15:1 | other | Object | file://:0:0:0:0 | <none> |
| variables.kt:16:1:34:1 | other | Object | file://:0:0:0:0 | <none> |
| variables.kt:16:11:16:18 | o | C1 | file://:0:0:0:0 | <none> |
| variables.kt:16:11:16:18 | o | C1 | variables.kt:16:11:16:18 | o |
| variables.kt:36:1:45:1 | other | Object | file://:0:0:0:0 | <none> |
| variables.kt:38:11:44:5 | other | Object | file://:0:0:0:0 | <none> |

View File

@@ -32,5 +32,5 @@ MaybeExpr initializer(Variable v) {
from Variable v
where v.fromSource()
select v, v.getType(), initializer(v)
select v, v.getType().toString(), initializer(v)