mirror of
https://github.com/github/codeql.git
synced 2026-04-20 14:34:04 +02:00
Kotlin: Add compiler-generated info to methods test
This commit is contained in:
1
java/ql/test/kotlin/library-tests/methods/dataClass.kt
Normal file
1
java/ql/test/kotlin/library-tests/methods/dataClass.kt
Normal file
@@ -0,0 +1 @@
|
||||
data class DataClass(val x: Int, val y: String)
|
||||
@@ -12,6 +12,92 @@
|
||||
| clinit.kt:3:1:3:24 | int | TypeAccess |
|
||||
| clinit.kt:3:1:3:24 | int | TypeAccess |
|
||||
| clinit.kt:3:24:3:24 | 0 | IntegerLiteral |
|
||||
| dataClass.kt:0:0:0:0 | 31 | IntegerLiteral |
|
||||
| dataClass.kt:0:0:0:0 | "..." | StringTemplateExpr |
|
||||
| dataClass.kt:0:0:0:0 | (...)... | CastExpr |
|
||||
| dataClass.kt:0:0:0:0 | ) | StringLiteral |
|
||||
| dataClass.kt:0:0:0:0 | , | StringLiteral |
|
||||
| dataClass.kt:0:0:0:0 | ... !is ... | NotInstanceOfExpr |
|
||||
| dataClass.kt:0:0:0:0 | ... (value not-equals) ... | ValueNEExpr |
|
||||
| dataClass.kt:0:0:0:0 | ... (value not-equals) ... | ValueNEExpr |
|
||||
| dataClass.kt:0:0:0:0 | ... == ... | EQExpr |
|
||||
| dataClass.kt:0:0:0:0 | ...=... | AssignExpr |
|
||||
| dataClass.kt:0:0:0:0 | DataClass | TypeAccess |
|
||||
| dataClass.kt:0:0:0:0 | DataClass | TypeAccess |
|
||||
| dataClass.kt:0:0:0:0 | DataClass | TypeAccess |
|
||||
| dataClass.kt:0:0:0:0 | DataClass | TypeAccess |
|
||||
| dataClass.kt:0:0:0:0 | DataClass( | StringLiteral |
|
||||
| dataClass.kt:0:0:0:0 | Object | TypeAccess |
|
||||
| dataClass.kt:0:0:0:0 | String | TypeAccess |
|
||||
| dataClass.kt:0:0:0:0 | String | TypeAccess |
|
||||
| dataClass.kt:0:0:0:0 | boolean | TypeAccess |
|
||||
| dataClass.kt:0:0:0:0 | false | BooleanLiteral |
|
||||
| dataClass.kt:0:0:0:0 | false | BooleanLiteral |
|
||||
| dataClass.kt:0:0:0:0 | false | BooleanLiteral |
|
||||
| dataClass.kt:0:0:0:0 | hashCode(...) | MethodAccess |
|
||||
| dataClass.kt:0:0:0:0 | hashCode(...) | MethodAccess |
|
||||
| dataClass.kt:0:0:0:0 | int | TypeAccess |
|
||||
| dataClass.kt:0:0:0:0 | int | TypeAccess |
|
||||
| dataClass.kt:0:0:0:0 | new DataClass(...) | ClassInstanceExpr |
|
||||
| dataClass.kt:0:0:0:0 | other | VarAccess |
|
||||
| dataClass.kt:0:0:0:0 | other | VarAccess |
|
||||
| dataClass.kt:0:0:0:0 | other | VarAccess |
|
||||
| dataClass.kt:0:0:0:0 | plus(...) | MethodAccess |
|
||||
| dataClass.kt:0:0:0:0 | result | LocalVariableDeclExpr |
|
||||
| dataClass.kt:0:0:0:0 | result | VarAccess |
|
||||
| dataClass.kt:0:0:0:0 | result | VarAccess |
|
||||
| dataClass.kt:0:0:0:0 | result | VarAccess |
|
||||
| dataClass.kt:0:0:0:0 | this | ThisAccess |
|
||||
| dataClass.kt:0:0:0:0 | this | ThisAccess |
|
||||
| dataClass.kt:0:0:0:0 | this | ThisAccess |
|
||||
| dataClass.kt:0:0:0:0 | this | ThisAccess |
|
||||
| dataClass.kt:0:0:0:0 | this | ThisAccess |
|
||||
| dataClass.kt:0:0:0:0 | this | ThisAccess |
|
||||
| dataClass.kt:0:0:0:0 | this | ThisAccess |
|
||||
| dataClass.kt:0:0:0:0 | this | ThisAccess |
|
||||
| dataClass.kt:0:0:0:0 | this | ThisAccess |
|
||||
| dataClass.kt:0:0:0:0 | this.x | VarAccess |
|
||||
| dataClass.kt:0:0:0:0 | this.x | VarAccess |
|
||||
| dataClass.kt:0:0:0:0 | this.x | VarAccess |
|
||||
| dataClass.kt:0:0:0:0 | this.x | VarAccess |
|
||||
| dataClass.kt:0:0:0:0 | this.y | VarAccess |
|
||||
| dataClass.kt:0:0:0:0 | this.y | VarAccess |
|
||||
| dataClass.kt:0:0:0:0 | this.y | VarAccess |
|
||||
| dataClass.kt:0:0:0:0 | this.y | VarAccess |
|
||||
| dataClass.kt:0:0:0:0 | times(...) | MethodAccess |
|
||||
| dataClass.kt:0:0:0:0 | tmp0_other_with_cast | LocalVariableDeclExpr |
|
||||
| dataClass.kt:0:0:0:0 | tmp0_other_with_cast | VarAccess |
|
||||
| dataClass.kt:0:0:0:0 | tmp0_other_with_cast | VarAccess |
|
||||
| dataClass.kt:0:0:0:0 | tmp0_other_with_cast.x | VarAccess |
|
||||
| dataClass.kt:0:0:0:0 | tmp0_other_with_cast.y | VarAccess |
|
||||
| dataClass.kt:0:0:0:0 | true | BooleanLiteral |
|
||||
| dataClass.kt:0:0:0:0 | true | BooleanLiteral |
|
||||
| dataClass.kt:0:0:0:0 | when ... | WhenExpr |
|
||||
| dataClass.kt:0:0:0:0 | when ... | WhenExpr |
|
||||
| dataClass.kt:0:0:0:0 | when ... | WhenExpr |
|
||||
| dataClass.kt:0:0:0:0 | when ... | WhenExpr |
|
||||
| dataClass.kt:0:0:0:0 | x | VarAccess |
|
||||
| dataClass.kt:0:0:0:0 | x= | StringLiteral |
|
||||
| dataClass.kt:0:0:0:0 | y | VarAccess |
|
||||
| dataClass.kt:0:0:0:0 | y= | StringLiteral |
|
||||
| dataClass.kt:1:22:1:31 | ...=... | KtInitializerAssignExpr |
|
||||
| dataClass.kt:1:22:1:31 | int | TypeAccess |
|
||||
| dataClass.kt:1:22:1:31 | int | TypeAccess |
|
||||
| dataClass.kt:1:22:1:31 | int | TypeAccess |
|
||||
| dataClass.kt:1:22:1:31 | int | TypeAccess |
|
||||
| dataClass.kt:1:22:1:31 | this | ThisAccess |
|
||||
| dataClass.kt:1:22:1:31 | this.x | VarAccess |
|
||||
| dataClass.kt:1:22:1:31 | x | VarAccess |
|
||||
| dataClass.kt:1:22:1:31 | x | VarAccess |
|
||||
| dataClass.kt:1:34:1:46 | ...=... | KtInitializerAssignExpr |
|
||||
| dataClass.kt:1:34:1:46 | String | TypeAccess |
|
||||
| dataClass.kt:1:34:1:46 | String | TypeAccess |
|
||||
| dataClass.kt:1:34:1:46 | String | TypeAccess |
|
||||
| dataClass.kt:1:34:1:46 | String | TypeAccess |
|
||||
| dataClass.kt:1:34:1:46 | this | ThisAccess |
|
||||
| dataClass.kt:1:34:1:46 | this.y | VarAccess |
|
||||
| dataClass.kt:1:34:1:46 | y | VarAccess |
|
||||
| dataClass.kt:1:34:1:46 | y | VarAccess |
|
||||
| methods2.kt:4:1:5:1 | Unit | TypeAccess |
|
||||
| methods2.kt:4:26:4:31 | int | TypeAccess |
|
||||
| methods2.kt:4:34:4:39 | int | TypeAccess |
|
||||
|
||||
@@ -1,24 +1,33 @@
|
||||
methods
|
||||
| clinit.kt:0:0:0:0 | ClinitKt | clinit.kt:0:0:0:0 | <clinit> | <clinit>() | |
|
||||
| clinit.kt:0:0:0:0 | ClinitKt | clinit.kt:3:1:3:24 | getTopLevelInt | getTopLevelInt() | public, static |
|
||||
| clinit.kt:0:0:0:0 | ClinitKt | clinit.kt:3:1:3:24 | setTopLevelInt | setTopLevelInt(int) | public, static |
|
||||
| methods2.kt:0:0:0:0 | Methods2Kt | methods2.kt:4:1:5:1 | fooBarTopLevelMethod | fooBarTopLevelMethod(int,int) | public, static |
|
||||
| methods2.kt:7:1:10:1 | Class2 | methods2.kt:8:5:9:5 | fooBarClassMethod | fooBarClassMethod(int,int) | public |
|
||||
| methods3.kt:0:0:0:0 | Methods3Kt | methods3.kt:3:1:3:42 | fooBarTopLevelMethodExt | fooBarTopLevelMethodExt(int,int) | public, static |
|
||||
| methods3.kt:5:1:7:1 | Class3 | methods3.kt:6:5:6:46 | fooBarTopLevelMethodExt | fooBarTopLevelMethodExt(int,int) | public |
|
||||
| methods4.kt:5:3:9:3 | InsideNestedTest | methods4.kt:7:5:7:34 | m | m(foo.bar.NestedTest.InsideNestedTest) | public |
|
||||
| methods5.kt:0:0:0:0 | Methods5Kt | methods5.kt:3:1:11:1 | x | x() | public, static |
|
||||
| methods5.kt:5:3:5:27 | | methods5.kt:5:3:5:27 | a | a(int) | public |
|
||||
| methods5.kt:9:3:9:32 | | methods5.kt:9:3:9:32 | f1 | f1(foo.bar.C1,int) | public |
|
||||
| methods.kt:0:0:0:0 | MethodsKt | methods.kt:2:1:3:1 | topLevelMethod | topLevelMethod(int,int) | public, static |
|
||||
| methods.kt:5:1:19:1 | Class | methods.kt:6:5:7:5 | classMethod | classMethod(int,int) | public |
|
||||
| methods.kt:5:1:19:1 | Class | methods.kt:9:5:12:5 | anotherClassMethod | anotherClassMethod(int,int) | public |
|
||||
| methods.kt:5:1:19:1 | Class | methods.kt:14:12:14:29 | publicFun | publicFun() | public |
|
||||
| methods.kt:5:1:19:1 | Class | methods.kt:15:15:15:35 | protectedFun | protectedFun() | protected |
|
||||
| methods.kt:5:1:19:1 | Class | methods.kt:16:13:16:31 | privateFun | privateFun() | private |
|
||||
| methods.kt:5:1:19:1 | Class | methods.kt:17:14:17:33 | internalFun | internalFun() | internal |
|
||||
| methods.kt:5:1:19:1 | Class | methods.kt:18:5:18:36 | noExplicitVisibilityFun | noExplicitVisibilityFun() | public |
|
||||
| clinit.kt:0:0:0:0 | ClinitKt | clinit.kt:0:0:0:0 | <clinit> | <clinit>() | | |
|
||||
| clinit.kt:0:0:0:0 | ClinitKt | clinit.kt:3:1:3:24 | getTopLevelInt | getTopLevelInt() | public, static | |
|
||||
| clinit.kt:0:0:0:0 | ClinitKt | clinit.kt:3:1:3:24 | setTopLevelInt | setTopLevelInt(int) | public, static | |
|
||||
| dataClass.kt:1:1:1:47 | DataClass | dataClass.kt:0:0:0:0 | component1 | component1() | public | Compiler generated |
|
||||
| dataClass.kt:1:1:1:47 | DataClass | dataClass.kt:0:0:0:0 | component2 | component2() | public | Compiler generated |
|
||||
| dataClass.kt:1:1:1:47 | DataClass | dataClass.kt:0:0:0:0 | copy | copy(int,java.lang.String) | public | Compiler generated |
|
||||
| dataClass.kt:1:1:1:47 | DataClass | dataClass.kt:0:0:0:0 | equals | equals(java.lang.Object) | override, public | Compiler generated |
|
||||
| dataClass.kt:1:1:1:47 | DataClass | dataClass.kt:0:0:0:0 | hashCode | hashCode() | override, public | Compiler generated |
|
||||
| dataClass.kt:1:1:1:47 | DataClass | dataClass.kt:0:0:0:0 | toString | toString() | override, public | Compiler generated |
|
||||
| dataClass.kt:1:1:1:47 | DataClass | dataClass.kt:1:22:1:31 | getX | getX() | public | |
|
||||
| dataClass.kt:1:1:1:47 | DataClass | dataClass.kt:1:34:1:46 | getY | getY() | public | |
|
||||
| methods2.kt:0:0:0:0 | Methods2Kt | methods2.kt:4:1:5:1 | fooBarTopLevelMethod | fooBarTopLevelMethod(int,int) | public, static | |
|
||||
| methods2.kt:7:1:10:1 | Class2 | methods2.kt:8:5:9:5 | fooBarClassMethod | fooBarClassMethod(int,int) | public | |
|
||||
| methods3.kt:0:0:0:0 | Methods3Kt | methods3.kt:3:1:3:42 | fooBarTopLevelMethodExt | fooBarTopLevelMethodExt(int,int) | public, static | |
|
||||
| methods3.kt:5:1:7:1 | Class3 | methods3.kt:6:5:6:46 | fooBarTopLevelMethodExt | fooBarTopLevelMethodExt(int,int) | public | |
|
||||
| methods4.kt:5:3:9:3 | InsideNestedTest | methods4.kt:7:5:7:34 | m | m(foo.bar.NestedTest.InsideNestedTest) | public | |
|
||||
| methods5.kt:0:0:0:0 | Methods5Kt | methods5.kt:3:1:11:1 | x | x() | public, static | |
|
||||
| methods5.kt:5:3:5:27 | | methods5.kt:5:3:5:27 | a | a(int) | public | |
|
||||
| methods5.kt:9:3:9:32 | | methods5.kt:9:3:9:32 | f1 | f1(foo.bar.C1,int) | public | |
|
||||
| methods.kt:0:0:0:0 | MethodsKt | methods.kt:2:1:3:1 | topLevelMethod | topLevelMethod(int,int) | public, static | |
|
||||
| methods.kt:5:1:19:1 | Class | methods.kt:6:5:7:5 | classMethod | classMethod(int,int) | public | |
|
||||
| methods.kt:5:1:19:1 | Class | methods.kt:9:5:12:5 | anotherClassMethod | anotherClassMethod(int,int) | public | |
|
||||
| methods.kt:5:1:19:1 | Class | methods.kt:14:12:14:29 | publicFun | publicFun() | public | |
|
||||
| methods.kt:5:1:19:1 | Class | methods.kt:15:15:15:35 | protectedFun | protectedFun() | protected | |
|
||||
| methods.kt:5:1:19:1 | Class | methods.kt:16:13:16:31 | privateFun | privateFun() | private | |
|
||||
| methods.kt:5:1:19:1 | Class | methods.kt:17:14:17:33 | internalFun | internalFun() | internal | |
|
||||
| methods.kt:5:1:19:1 | Class | methods.kt:18:5:18:36 | noExplicitVisibilityFun | noExplicitVisibilityFun() | public | |
|
||||
constructors
|
||||
| dataClass.kt:1:1:1:47 | DataClass | dataClass.kt:1:6:1:47 | DataClass | DataClass(int,java.lang.String) |
|
||||
| methods2.kt:7:1:10:1 | Class2 | methods2.kt:7:1:10:1 | Class2 | Class2() |
|
||||
| methods3.kt:5:1:7:1 | Class3 | methods3.kt:5:1:7:1 | Class3 | Class3() |
|
||||
| methods4.kt:3:1:11:1 | NestedTest | methods4.kt:3:1:11:1 | NestedTest | NestedTest() |
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
import java
|
||||
|
||||
query predicate methods(RefType declType, Method m, string signature, string modifiers) {
|
||||
query predicate methods(RefType declType, Method m, string signature, string modifiers, string compilerGenerated) {
|
||||
m.fromSource() and
|
||||
declType = m.getDeclaringType() and
|
||||
signature = m.getSignature() and
|
||||
modifiers = concat(string s | m.hasModifier(s) | s, ", ")
|
||||
modifiers = concat(string s | m.hasModifier(s) | s, ", ") and
|
||||
if m.isCompilerGenerated() then compilerGenerated = "Compiler generated" else compilerGenerated = ""
|
||||
}
|
||||
|
||||
query predicate constructors(RefType declType, Constructor c, string signature) {
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
| clinit.kt:3:1:3:24 | setTopLevelInt | clinit.kt:3:1:3:24 | <set-?> | 0 |
|
||||
| dataClass.kt:0:0:0:0 | copy | dataClass.kt:1:22:1:31 | x | 0 |
|
||||
| dataClass.kt:0:0:0:0 | copy | dataClass.kt:1:34:1:46 | y | 1 |
|
||||
| dataClass.kt:0:0:0:0 | equals | dataClass.kt:0:0:0:0 | other | 0 |
|
||||
| methods2.kt:4:1:5:1 | fooBarTopLevelMethod | methods2.kt:4:26:4:31 | x | 0 |
|
||||
| methods2.kt:4:1:5:1 | fooBarTopLevelMethod | methods2.kt:4:34:4:39 | y | 1 |
|
||||
| methods2.kt:8:5:9:5 | fooBarClassMethod | methods2.kt:8:27:8:32 | x | 0 |
|
||||
|
||||
Reference in New Issue
Block a user