Kotlin: Add compiler-generated info to methods test

This commit is contained in:
Ian Lynagh
2022-06-23 11:41:31 +01:00
parent 5fc294d49e
commit aefd89ed49
5 changed files with 121 additions and 21 deletions

View File

@@ -0,0 +1 @@
data class DataClass(val x: Int, val y: String)

View File

@@ -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 |

View File

@@ -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() |

View File

@@ -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) {

View File

@@ -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 |