From b837d3cb65e33ef130848907923f8b350dcb48e6 Mon Sep 17 00:00:00 2001 From: Ian Lynagh Date: Fri, 11 Jul 2025 14:15:02 +0100 Subject: [PATCH 1/2] Kotlin: Update default version to 2.2.0 Changes the default version from 2.1.20 to 2.2.0 in the wrapper.py file. --- java/kotlin-extractor/dev/wrapper.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/kotlin-extractor/dev/wrapper.py b/java/kotlin-extractor/dev/wrapper.py index 08969528c926..aeef81e5c1d2 100755 --- a/java/kotlin-extractor/dev/wrapper.py +++ b/java/kotlin-extractor/dev/wrapper.py @@ -27,7 +27,7 @@ import io import os -DEFAULT_VERSION = "2.1.20" +DEFAULT_VERSION = "2.2.0" def options(): From 906019b46d377f7d4d98116837990cb4a78195ec Mon Sep 17 00:00:00 2001 From: Ian Lynagh Date: Fri, 11 Jul 2025 16:55:58 +0100 Subject: [PATCH 2/2] Kotlin: Accept test changes in 2.2.0 --- .../annotation_classes/PrintAst.expected | 24 +++++------ .../library-tests/classes/PrintAst.expected | 40 +++++++++---------- .../library-tests/exprs/PrintAst.expected | 40 +++++++++---------- .../library-tests/exprs/exprs.expected | 20 +++++----- .../exprs_typeaccess/PrintAst.expected | 24 +++++------ .../library-tests/methods/exprs.expected | 20 +++++----- .../library-tests/methods/methods.expected | 12 +++--- .../library-tests/methods/parameters.expected | 4 +- 8 files changed, 92 insertions(+), 92 deletions(-) diff --git a/java/ql/test-kotlin2/library-tests/annotation_classes/PrintAst.expected b/java/ql/test-kotlin2/library-tests/annotation_classes/PrintAst.expected index dfec79078ce8..1153b13c3bf9 100644 --- a/java/ql/test-kotlin2/library-tests/annotation_classes/PrintAst.expected +++ b/java/ql/test-kotlin2/library-tests/annotation_classes/PrintAst.expected @@ -169,7 +169,18 @@ def.kt: # 33| 0: [SuperConstructorInvocationStmt] super(...) # 33| 1: [BlockStmt] { ... } # 34| 5: [Class] Y -# 34| 2: [Constructor] Y +# 0| 2: [Method] getEntries +# 0| 3: [TypeAccess] EnumEntries +# 0| 0: [TypeAccess] Y +# 0| 3: [Method] valueOf +# 0| 3: [TypeAccess] Y +#-----| 4: (Parameters) +# 34| 0: [Parameter] value +# 34| 0: [TypeAccess] String +# 0| 4: [Method] values +# 0| 3: [TypeAccess] Y[] +# 0| 0: [TypeAccess] Y +# 34| 5: [Constructor] Y # 34| 5: [BlockStmt] { ... } # 34| 0: [ExprStmt] ; # 34| 0: [ClassInstanceExpr] new Enum(...) @@ -178,17 +189,6 @@ def.kt: # 34| 0: [NullLiteral] null # 34| 1: [IntegerLiteral] 0 # 34| 1: [BlockStmt] { ... } -# 34| 3: [Method] getEntries -# 34| 3: [TypeAccess] EnumEntries -# 34| 0: [TypeAccess] Y -# 34| 4: [Method] valueOf -# 34| 3: [TypeAccess] Y -#-----| 4: (Parameters) -# 34| 0: [Parameter] value -# 34| 0: [TypeAccess] String -# 34| 5: [Method] values -# 34| 3: [TypeAccess] Y[] -# 34| 0: [TypeAccess] Y # 35| 6: [FieldDeclaration] Y A; # 35| -1: [TypeAccess] Y # 35| 0: [ClassInstanceExpr] new Y(...) diff --git a/java/ql/test-kotlin2/library-tests/classes/PrintAst.expected b/java/ql/test-kotlin2/library-tests/classes/PrintAst.expected index 4abfda927996..6fe2874402f8 100644 --- a/java/ql/test-kotlin2/library-tests/classes/PrintAst.expected +++ b/java/ql/test-kotlin2/library-tests/classes/PrintAst.expected @@ -160,7 +160,18 @@ classes.kt: # 42| -1: [TypeAccess] int # 42| 0: [IntegerLiteral] 3 # 49| 11: [Class] Direction -# 49| 2: [Constructor] Direction +# 0| 2: [Method] getEntries +# 0| 3: [TypeAccess] EnumEntries +# 0| 0: [TypeAccess] Direction +# 0| 3: [Method] valueOf +# 0| 3: [TypeAccess] Direction +#-----| 4: (Parameters) +# 49| 0: [Parameter] value +# 49| 0: [TypeAccess] String +# 0| 4: [Method] values +# 0| 3: [TypeAccess] Direction[] +# 0| 0: [TypeAccess] Direction +# 49| 5: [Constructor] Direction # 49| 5: [BlockStmt] { ... } # 49| 0: [ExprStmt] ; # 49| 0: [ClassInstanceExpr] new Enum(...) @@ -169,17 +180,6 @@ classes.kt: # 49| 0: [NullLiteral] null # 49| 1: [IntegerLiteral] 0 # 49| 1: [BlockStmt] { ... } -# 49| 3: [Method] getEntries -# 49| 3: [TypeAccess] EnumEntries -# 49| 0: [TypeAccess] Direction -# 49| 4: [Method] valueOf -# 49| 3: [TypeAccess] Direction -#-----| 4: (Parameters) -# 49| 0: [Parameter] value -# 49| 0: [TypeAccess] String -# 49| 5: [Method] values -# 49| 3: [TypeAccess] Direction[] -# 49| 0: [TypeAccess] Direction # 50| 6: [FieldDeclaration] Direction NORTH; # 50| -1: [TypeAccess] Direction # 50| 0: [ClassInstanceExpr] new Direction(...) @@ -197,17 +197,17 @@ classes.kt: # 50| 0: [ClassInstanceExpr] new Direction(...) # 50| -3: [TypeAccess] Direction # 53| 12: [Class] Color -# 53| 2: [Method] getEntries -# 53| 3: [TypeAccess] EnumEntries -# 53| 0: [TypeAccess] Color -# 53| 3: [Method] valueOf -# 53| 3: [TypeAccess] Color +# 0| 2: [Method] getEntries +# 0| 3: [TypeAccess] EnumEntries +# 0| 0: [TypeAccess] Color +# 0| 3: [Method] valueOf +# 0| 3: [TypeAccess] Color #-----| 4: (Parameters) # 53| 0: [Parameter] value # 53| 0: [TypeAccess] String -# 53| 4: [Method] values -# 53| 3: [TypeAccess] Color[] -# 53| 0: [TypeAccess] Color +# 0| 4: [Method] values +# 0| 3: [TypeAccess] Color[] +# 0| 0: [TypeAccess] Color # 53| 5: [Constructor] Color #-----| 4: (Parameters) # 53| 0: [Parameter] rgb diff --git a/java/ql/test-kotlin2/library-tests/exprs/PrintAst.expected b/java/ql/test-kotlin2/library-tests/exprs/PrintAst.expected index 6a4ac3cab31d..78fc858d028e 100644 --- a/java/ql/test-kotlin2/library-tests/exprs/PrintAst.expected +++ b/java/ql/test-kotlin2/library-tests/exprs/PrintAst.expected @@ -3340,7 +3340,18 @@ exprs.kt: # 154| 0: [SuperConstructorInvocationStmt] super(...) # 154| 1: [BlockStmt] { ... } # 174| 6: [Class] Direction -# 174| 2: [Constructor] Direction +# 0| 2: [Method] getEntries +# 0| 3: [TypeAccess] EnumEntries +# 0| 0: [TypeAccess] Direction +# 0| 3: [Method] valueOf +# 0| 3: [TypeAccess] Direction +#-----| 4: (Parameters) +# 174| 0: [Parameter] value +# 174| 0: [TypeAccess] String +# 0| 4: [Method] values +# 0| 3: [TypeAccess] Direction[] +# 0| 0: [TypeAccess] Direction +# 174| 5: [Constructor] Direction # 174| 5: [BlockStmt] { ... } # 174| 0: [ExprStmt] ; # 174| 0: [ClassInstanceExpr] new Enum(...) @@ -3349,17 +3360,6 @@ exprs.kt: # 174| 0: [NullLiteral] null # 174| 1: [IntegerLiteral] 0 # 174| 1: [BlockStmt] { ... } -# 174| 3: [Method] getEntries -# 174| 3: [TypeAccess] EnumEntries -# 174| 0: [TypeAccess] Direction -# 174| 4: [Method] valueOf -# 174| 3: [TypeAccess] Direction -#-----| 4: (Parameters) -# 174| 0: [Parameter] value -# 174| 0: [TypeAccess] String -# 174| 5: [Method] values -# 174| 3: [TypeAccess] Direction[] -# 174| 0: [TypeAccess] Direction # 175| 6: [FieldDeclaration] Direction NORTH; # 175| -1: [TypeAccess] Direction # 175| 0: [ClassInstanceExpr] new Direction(...) @@ -3377,17 +3377,17 @@ exprs.kt: # 175| 0: [ClassInstanceExpr] new Direction(...) # 175| -3: [TypeAccess] Direction # 178| 7: [Class] Color -# 178| 2: [Method] getEntries -# 178| 3: [TypeAccess] EnumEntries -# 178| 0: [TypeAccess] Color -# 178| 3: [Method] valueOf -# 178| 3: [TypeAccess] Color +# 0| 2: [Method] getEntries +# 0| 3: [TypeAccess] EnumEntries +# 0| 0: [TypeAccess] Color +# 0| 3: [Method] valueOf +# 0| 3: [TypeAccess] Color #-----| 4: (Parameters) # 178| 0: [Parameter] value # 178| 0: [TypeAccess] String -# 178| 4: [Method] values -# 178| 3: [TypeAccess] Color[] -# 178| 0: [TypeAccess] Color +# 0| 4: [Method] values +# 0| 3: [TypeAccess] Color[] +# 0| 0: [TypeAccess] Color # 178| 5: [Constructor] Color #-----| 4: (Parameters) # 178| 0: [Parameter] rgb diff --git a/java/ql/test-kotlin2/library-tests/exprs/exprs.expected b/java/ql/test-kotlin2/library-tests/exprs/exprs.expected index 0acb9c221430..001794509ffb 100644 --- a/java/ql/test-kotlin2/library-tests/exprs/exprs.expected +++ b/java/ql/test-kotlin2/library-tests/exprs/exprs.expected @@ -883,6 +883,16 @@ | delegatedProperties.kt:87:34:87:46 | this | delegatedProperties.kt:87:34:87:46 | invoke | ThisAccess | | delegatedProperties.kt:87:34:87:46 | this | delegatedProperties.kt:87:34:87:46 | invoke | ThisAccess | | delegatedProperties.kt:87:34:87:46 | this | delegatedProperties.kt:87:34:87:46 | invoke | ThisAccess | +| exprs.kt:0:0:0:0 | Color | file://:0:0:0:0 | | TypeAccess | +| exprs.kt:0:0:0:0 | Color | file://:0:0:0:0 | | TypeAccess | +| exprs.kt:0:0:0:0 | Color | file://:0:0:0:0 | | TypeAccess | +| exprs.kt:0:0:0:0 | Color[] | file://:0:0:0:0 | | TypeAccess | +| exprs.kt:0:0:0:0 | Direction | file://:0:0:0:0 | | TypeAccess | +| exprs.kt:0:0:0:0 | Direction | file://:0:0:0:0 | | TypeAccess | +| exprs.kt:0:0:0:0 | Direction | file://:0:0:0:0 | | TypeAccess | +| exprs.kt:0:0:0:0 | Direction[] | file://:0:0:0:0 | | TypeAccess | +| exprs.kt:0:0:0:0 | EnumEntries | file://:0:0:0:0 | | TypeAccess | +| exprs.kt:0:0:0:0 | EnumEntries | file://:0:0:0:0 | | TypeAccess | | exprs.kt:4:1:142:1 | int | file://:0:0:0:0 | | TypeAccess | | exprs.kt:4:20:4:25 | int | file://:0:0:0:0 | | TypeAccess | | exprs.kt:4:28:4:33 | int | file://:0:0:0:0 | | TypeAccess | @@ -1461,12 +1471,7 @@ | exprs.kt:170:21:170:21 | 3 | exprs.kt:165:1:172:1 | foo | IntegerLiteral | | exprs.kt:174:1:176:1 | 0 | exprs.kt:174:1:176:1 | Direction | IntegerLiteral | | exprs.kt:174:1:176:1 | Direction | exprs.kt:174:1:176:1 | Direction | TypeAccess | -| exprs.kt:174:1:176:1 | Direction | file://:0:0:0:0 | | TypeAccess | -| exprs.kt:174:1:176:1 | Direction | file://:0:0:0:0 | | TypeAccess | -| exprs.kt:174:1:176:1 | Direction | file://:0:0:0:0 | | TypeAccess | -| exprs.kt:174:1:176:1 | Direction[] | file://:0:0:0:0 | | TypeAccess | | exprs.kt:174:1:176:1 | Enum | exprs.kt:174:1:176:1 | Direction | TypeAccess | -| exprs.kt:174:1:176:1 | EnumEntries | file://:0:0:0:0 | | TypeAccess | | exprs.kt:174:1:176:1 | String | file://:0:0:0:0 | | TypeAccess | | exprs.kt:174:1:176:1 | new Enum(...) | exprs.kt:174:1:176:1 | Direction | ClassInstanceExpr | | exprs.kt:174:1:176:1 | null | exprs.kt:174:1:176:1 | Direction | NullLiteral | @@ -1494,11 +1499,6 @@ | exprs.kt:175:25:175:28 | Direction | file://:0:0:0:0 | | TypeAccess | | exprs.kt:175:25:175:28 | Direction.EAST | exprs.kt:0:0:0:0 | | VarAccess | | exprs.kt:175:25:175:28 | new Direction(...) | exprs.kt:0:0:0:0 | | ClassInstanceExpr | -| exprs.kt:178:1:182:1 | Color | file://:0:0:0:0 | | TypeAccess | -| exprs.kt:178:1:182:1 | Color | file://:0:0:0:0 | | TypeAccess | -| exprs.kt:178:1:182:1 | Color | file://:0:0:0:0 | | TypeAccess | -| exprs.kt:178:1:182:1 | Color[] | file://:0:0:0:0 | | TypeAccess | -| exprs.kt:178:1:182:1 | EnumEntries | file://:0:0:0:0 | | TypeAccess | | exprs.kt:178:1:182:1 | String | file://:0:0:0:0 | | TypeAccess | | exprs.kt:178:17:178:30 | 0 | exprs.kt:178:17:178:30 | Color | IntegerLiteral | | exprs.kt:178:17:178:30 | Color | exprs.kt:178:17:178:30 | Color | TypeAccess | diff --git a/java/ql/test-kotlin2/library-tests/exprs_typeaccess/PrintAst.expected b/java/ql/test-kotlin2/library-tests/exprs_typeaccess/PrintAst.expected index a9cce8a012fb..3a7af6919ed8 100644 --- a/java/ql/test-kotlin2/library-tests/exprs_typeaccess/PrintAst.expected +++ b/java/ql/test-kotlin2/library-tests/exprs_typeaccess/PrintAst.expected @@ -73,7 +73,18 @@ A.kt: # 20| 2: [ReturnStmt] return ... # 20| 0: [IntegerLiteral] 5 # 23| 11: [Class] Enu -# 23| 2: [Constructor] Enu +# 0| 2: [Method] getEntries +# 0| 3: [TypeAccess] EnumEntries +# 0| 0: [TypeAccess] Enu +# 0| 3: [Method] valueOf +# 0| 3: [TypeAccess] Enu +#-----| 4: (Parameters) +# 23| 0: [Parameter] value +# 23| 0: [TypeAccess] String +# 0| 4: [Method] values +# 0| 3: [TypeAccess] Enu[] +# 0| 0: [TypeAccess] Enu +# 23| 5: [Constructor] Enu # 23| 5: [BlockStmt] { ... } # 23| 0: [ExprStmt] ; # 23| 0: [ClassInstanceExpr] new Enum(...) @@ -82,17 +93,6 @@ A.kt: # 23| 0: [NullLiteral] null # 23| 1: [IntegerLiteral] 0 # 23| 1: [BlockStmt] { ... } -# 23| 3: [Method] getEntries -# 23| 3: [TypeAccess] EnumEntries -# 23| 0: [TypeAccess] Enu -# 23| 4: [Method] valueOf -# 23| 3: [TypeAccess] Enu -#-----| 4: (Parameters) -# 23| 0: [Parameter] value -# 23| 0: [TypeAccess] String -# 23| 5: [Method] values -# 23| 3: [TypeAccess] Enu[] -# 23| 0: [TypeAccess] Enu # 24| 6: [FieldDeclaration] Enu A; # 24| -1: [TypeAccess] Enu # 24| 0: [ClassInstanceExpr] new Enu(...) diff --git a/java/ql/test-kotlin2/library-tests/methods/exprs.expected b/java/ql/test-kotlin2/library-tests/methods/exprs.expected index 041ef562dfbd..accffb8beff8 100644 --- a/java/ql/test-kotlin2/library-tests/methods/exprs.expected +++ b/java/ql/test-kotlin2/library-tests/methods/exprs.expected @@ -223,11 +223,16 @@ | delegates.kt:10:23:10:25 | old | VarAccess | | delegates.kt:10:26:10:31 | ", now " | StringLiteral | | delegates.kt:10:33:10:35 | new | VarAccess | -| enumClass.kt:1:1:4:1 | EnumClass | TypeAccess | -| enumClass.kt:1:1:4:1 | EnumClass | TypeAccess | -| enumClass.kt:1:1:4:1 | EnumClass | TypeAccess | -| enumClass.kt:1:1:4:1 | EnumClass[] | TypeAccess | -| enumClass.kt:1:1:4:1 | EnumEntries | TypeAccess | +| enumClass.kt:0:0:0:0 | EnumClass | TypeAccess | +| enumClass.kt:0:0:0:0 | EnumClass | TypeAccess | +| enumClass.kt:0:0:0:0 | EnumClass | TypeAccess | +| enumClass.kt:0:0:0:0 | EnumClass[] | TypeAccess | +| enumClass.kt:0:0:0:0 | EnumEntries | TypeAccess | +| enumClass.kt:0:0:0:0 | EnumEntries | TypeAccess | +| enumClass.kt:0:0:0:0 | EnumWithFunctions | TypeAccess | +| enumClass.kt:0:0:0:0 | EnumWithFunctions | TypeAccess | +| enumClass.kt:0:0:0:0 | EnumWithFunctions | TypeAccess | +| enumClass.kt:0:0:0:0 | EnumWithFunctions[] | TypeAccess | | enumClass.kt:1:1:4:1 | String | TypeAccess | | enumClass.kt:1:21:1:32 | 0 | IntegerLiteral | | enumClass.kt:1:21:1:32 | Enum | TypeAccess | @@ -258,12 +263,7 @@ | enumClass.kt:3:11:3:11 | 1 | IntegerLiteral | | enumClass.kt:6:1:16:1 | 0 | IntegerLiteral | | enumClass.kt:6:1:16:1 | Enum | TypeAccess | -| enumClass.kt:6:1:16:1 | EnumEntries | TypeAccess | | enumClass.kt:6:1:16:1 | EnumWithFunctions | TypeAccess | -| enumClass.kt:6:1:16:1 | EnumWithFunctions | TypeAccess | -| enumClass.kt:6:1:16:1 | EnumWithFunctions | TypeAccess | -| enumClass.kt:6:1:16:1 | EnumWithFunctions | TypeAccess | -| enumClass.kt:6:1:16:1 | EnumWithFunctions[] | TypeAccess | | enumClass.kt:6:1:16:1 | String | TypeAccess | | enumClass.kt:6:1:16:1 | new Enum(...) | ClassInstanceExpr | | enumClass.kt:6:1:16:1 | null | NullLiteral | diff --git a/java/ql/test-kotlin2/library-tests/methods/methods.expected b/java/ql/test-kotlin2/library-tests/methods/methods.expected index 79f674e4d7c4..94c0d62e20b1 100644 --- a/java/ql/test-kotlin2/library-tests/methods/methods.expected +++ b/java/ql/test-kotlin2/library-tests/methods/methods.expected @@ -26,14 +26,14 @@ methods | delegates.kt:8:35:11:5 | new KMutableProperty1(...) { ... } | delegates.kt:8:35:11:5 | set | set(MyClass,java.lang.String) | override, public | | | delegates.kt:8:66:11:5 | new Function3,String,String,Unit>(...) { ... } | delegates.kt:8:66:11:5 | invoke | invoke(kotlin.reflect.KProperty,java.lang.String,java.lang.String) | final, override, public | | | enumClass.kt:1:1:4:1 | EnumClass | enumClass.kt:0:0:0:0 | | () | static | Compiler generated | -| enumClass.kt:1:1:4:1 | EnumClass | enumClass.kt:1:1:4:1 | getEntries | getEntries() | final, public, static | Compiler generated | -| enumClass.kt:1:1:4:1 | EnumClass | enumClass.kt:1:1:4:1 | valueOf | valueOf(java.lang.String) | final, public, static | Compiler generated | -| enumClass.kt:1:1:4:1 | EnumClass | enumClass.kt:1:1:4:1 | values | values() | final, public, static | Compiler generated | +| enumClass.kt:1:1:4:1 | EnumClass | enumClass.kt:0:0:0:0 | getEntries | getEntries() | final, public, static | Compiler generated | +| enumClass.kt:1:1:4:1 | EnumClass | enumClass.kt:0:0:0:0 | valueOf | valueOf(java.lang.String) | final, public, static | Compiler generated | +| enumClass.kt:1:1:4:1 | EnumClass | enumClass.kt:0:0:0:0 | values | values() | final, public, static | Compiler generated | | enumClass.kt:1:1:4:1 | EnumClass | enumClass.kt:1:22:1:31 | getV | getV() | final, public | Compiler generated | | enumClass.kt:6:1:16:1 | EnumWithFunctions | enumClass.kt:0:0:0:0 | | () | static | Compiler generated | -| enumClass.kt:6:1:16:1 | EnumWithFunctions | enumClass.kt:6:1:16:1 | getEntries | getEntries() | final, public, static | Compiler generated | -| enumClass.kt:6:1:16:1 | EnumWithFunctions | enumClass.kt:6:1:16:1 | valueOf | valueOf(java.lang.String) | final, public, static | Compiler generated | -| enumClass.kt:6:1:16:1 | EnumWithFunctions | enumClass.kt:6:1:16:1 | values | values() | final, public, static | Compiler generated | +| enumClass.kt:6:1:16:1 | EnumWithFunctions | enumClass.kt:0:0:0:0 | getEntries | getEntries() | final, public, static | Compiler generated | +| enumClass.kt:6:1:16:1 | EnumWithFunctions | enumClass.kt:0:0:0:0 | valueOf | valueOf(java.lang.String) | final, public, static | Compiler generated | +| enumClass.kt:6:1:16:1 | EnumWithFunctions | enumClass.kt:0:0:0:0 | values | values() | final, public, static | Compiler generated | | enumClass.kt:6:1:16:1 | EnumWithFunctions | enumClass.kt:13:3:13:29 | f | f(int) | abstract, public | | | enumClass.kt:6:1:16:1 | EnumWithFunctions | enumClass.kt:14:3:14:29 | g | g(int) | abstract, public | | | enumClass.kt:8:3:11:4 | VAL | enumClass.kt:9:5:9:30 | f | f(int) | override, public | | diff --git a/java/ql/test-kotlin2/library-tests/methods/parameters.expected b/java/ql/test-kotlin2/library-tests/methods/parameters.expected index f0c4ad719468..3e5485f27245 100644 --- a/java/ql/test-kotlin2/library-tests/methods/parameters.expected +++ b/java/ql/test-kotlin2/library-tests/methods/parameters.expected @@ -22,8 +22,8 @@ | delegates.kt:8:66:11:5 | invoke | delegates.kt:9:9:9:12 | prop | 0 | | delegates.kt:8:66:11:5 | invoke | delegates.kt:9:15:9:17 | old | 1 | | delegates.kt:8:66:11:5 | invoke | delegates.kt:9:20:9:22 | new | 2 | -| enumClass.kt:1:1:4:1 | valueOf | enumClass.kt:1:1:4:1 | value | 0 | -| enumClass.kt:6:1:16:1 | valueOf | enumClass.kt:6:1:16:1 | value | 0 | +| enumClass.kt:0:0:0:0 | valueOf | enumClass.kt:1:1:4:1 | value | 0 | +| enumClass.kt:0:0:0:0 | valueOf | enumClass.kt:6:1:16:1 | value | 0 | | enumClass.kt:9:5:9:30 | f | enumClass.kt:9:20:9:25 | i | 0 | | enumClass.kt:10:5:10:42 | g | enumClass.kt:10:20:10:25 | i | 0 | | enumClass.kt:13:3:13:29 | f | enumClass.kt:13:18:13:23 | i | 0 | pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy