diff --git a/java/ql/integration-tests/kotlin/all-platforms/gradle_kotlinx_serialization/PrintAst.expected b/java/ql/integration-tests/kotlin/all-platforms/gradle_kotlinx_serialization/PrintAst.expected index 752db3cd647..3fe2e593cef 100644 --- a/java/ql/integration-tests/kotlin/all-platforms/gradle_kotlinx_serialization/PrintAst.expected +++ b/java/ql/integration-tests/kotlin/all-platforms/gradle_kotlinx_serialization/PrintAst.expected @@ -21,35 +21,6 @@ app/src/main/kotlin/testProject/App.kt: # 0| 0: [TypeAccess] int # 0| 3: [Parameter] serializationConstructorMarker # 0| 0: [TypeAccess] SerializationConstructorMarker -# 7| 5: [BlockStmt] { ... } -# 7| 0: [ExprStmt] ; -# 7| 0: [WhenExpr] when ... -# 7| 0: [WhenBranch] ... -> ... -# 7| 0: [ValueNEExpr] ... (value not-equals) ... -# 7| 0: [IntegerLiteral] 3 -# 7| 1: [AndBitwiseExpr] ... & ... -# 7| 0: [IntegerLiteral] 3 -# 7| 1: [VarAccess] seen1 -# 7| 1: [ExprStmt] ; -# 7| 0: [MethodCall] throwMissingFieldException(...) -# 7| -1: [TypeAccess] PluginExceptionsKt -# 7| 0: [VarAccess] seen1 -# 7| 1: [IntegerLiteral] 3 -# 7| 2: [MethodCall] getDescriptor(...) -# 7| -1: [VarAccess] INSTANCE -# 7| 1: [SuperConstructorInvocationStmt] super(...) -# 7| 2: [ExprStmt] ; -# 7| 0: [AssignExpr] ...=... -# 7| 0: [VarAccess] Project.this.name -# 7| -1: [ThisAccess] Project.this -# 7| 0: [TypeAccess] Project -# 7| 1: [VarAccess] name -# 7| 3: [ExprStmt] ; -# 7| 0: [AssignExpr] ...=... -# 7| 0: [VarAccess] Project.this.language -# 7| -1: [ThisAccess] Project.this -# 7| 0: [TypeAccess] Project -# 7| 1: [VarAccess] language # 0| 2: [Method] component1 #-----| 1: (Annotations) # 0| 1: [Annotation] NotNull @@ -224,21 +195,6 @@ app/src/main/kotlin/testProject/App.kt: #-----| -1: (Annotations) # 0| 1: [Annotation] NotNull # 0| 0: [TypeAccess] SerialDescriptor -# 7| 5: [BlockStmt] { ... } -# 7| 0: [ExprStmt] ; -# 7| 0: [MethodCall] encodeStringElement(...) -# 7| -1: [VarAccess] output -# 7| 0: [VarAccess] serialDesc -# 7| 1: [IntegerLiteral] 0 -# 7| 2: [MethodCall] getName(...) -# 7| -1: [VarAccess] self -# 7| 1: [ExprStmt] ; -# 7| 0: [MethodCall] encodeIntElement(...) -# 7| -1: [VarAccess] output -# 7| 0: [VarAccess] serialDesc -# 7| 1: [IntegerLiteral] 1 -# 7| 2: [MethodCall] getLanguage(...) -# 7| -1: [VarAccess] self # 7| 10: [Class] $serializer #-----| -3: (Annotations) # 0| 1: [Annotation] Deprecated @@ -248,21 +204,13 @@ app/src/main/kotlin/testProject/App.kt: # 0| 2: [ArrayInit] {...} # 0| 3: [VarAccess] DeprecationLevel.HIDDEN # 0| -1: [TypeAccess] DeprecationLevel -# 0| 1: [FieldDeclaration] SerialDescriptor descriptor; -# 0| -1: [TypeAccess] SerialDescriptor -# 0| 2: [Method] childSerializers +# 0| 1: [Method] childSerializers #-----| 1: (Annotations) # 0| 1: [Annotation] NotNull # 0| 3: [TypeAccess] KSerializer[] # 0| 0: [TypeAccess] KSerializer # 0| 0: [WildcardTypeAccess] ? ... -# 7| 5: [BlockStmt] { ... } -# 7| 0: [ReturnStmt] return ... -# 7| 0: [ArrayCreationExpr] new KSerializer[] -# 7| -2: [ArrayInit] {...} -# 7| -1: [TypeAccess] KSerializer -# 7| 0: [IntegerLiteral] 2 -# 0| 3: [Method] deserialize +# 0| 2: [Method] deserialize #-----| 1: (Annotations) # 0| 1: [Annotation] NotNull # 0| 3: [TypeAccess] Project @@ -271,148 +219,11 @@ app/src/main/kotlin/testProject/App.kt: #-----| -1: (Annotations) # 0| 1: [Annotation] NotNull # 0| 0: [TypeAccess] Decoder -# 7| 5: [BlockStmt] { ... } -# 7| 0: [LocalVariableDeclStmt] var ...; -# 7| 1: [LocalVariableDeclExpr] tmp0_desc -# 7| 0: [MethodCall] getDescriptor(...) -# 7| -1: [ThisAccess] this -# 7| 1: [LocalVariableDeclStmt] var ...; -# 7| 1: [LocalVariableDeclExpr] tmp1_flag -# 7| 0: [BooleanLiteral] true -# 7| 2: [LocalVariableDeclStmt] var ...; -# 7| 1: [LocalVariableDeclExpr] tmp2_index -# 7| 0: [IntegerLiteral] 0 -# 7| 3: [LocalVariableDeclStmt] var ...; -# 7| 1: [LocalVariableDeclExpr] tmp3_bitMask0 -# 7| 0: [IntegerLiteral] 0 -# 7| 4: [LocalVariableDeclStmt] var ...; -# 7| 1: [LocalVariableDeclExpr] tmp4_local0 -# 7| 0: [NullLiteral] null -# 7| 5: [LocalVariableDeclStmt] var ...; -# 7| 1: [LocalVariableDeclExpr] tmp5_local1 -# 7| 0: [IntegerLiteral] 0 -# 7| 6: [LocalVariableDeclStmt] var ...; -# 7| 1: [LocalVariableDeclExpr] tmp6_input -# 7| 0: [MethodCall] beginStructure(...) -# 7| -1: [VarAccess] decoder -# 7| 0: [VarAccess] tmp0_desc -# 7| 7: [ExprStmt] ; -# 7| 0: [WhenExpr] when ... -# 7| 0: [WhenBranch] ... -> ... -# 7| 0: [MethodCall] decodeSequentially(...) -# 7| -1: [VarAccess] tmp6_input -# 7| 1: [BlockStmt] { ... } -# 7| 0: [BlockStmt] { ... } -# 7| 0: [ExprStmt] ; -# 7| 0: [AssignExpr] ...=... -# 7| 0: [VarAccess] tmp4_local0 -# 7| 1: [MethodCall] decodeStringElement(...) -# 7| -1: [VarAccess] tmp6_input -# 7| 0: [VarAccess] tmp0_desc -# 7| 1: [IntegerLiteral] 0 -# 7| 1: [ExprStmt] ; -# 7| 0: [AssignExpr] ...=... -# 7| 0: [VarAccess] tmp3_bitMask0 -# 7| 1: [OrBitwiseExpr] ... | ... -# 7| 0: [VarAccess] tmp3_bitMask0 -# 7| 1: [IntegerLiteral] 1 -# 7| 1: [BlockStmt] { ... } -# 7| 0: [ExprStmt] ; -# 7| 0: [AssignExpr] ...=... -# 7| 0: [VarAccess] tmp5_local1 -# 7| 1: [MethodCall] decodeIntElement(...) -# 7| -1: [VarAccess] tmp6_input -# 7| 0: [VarAccess] tmp0_desc -# 7| 1: [IntegerLiteral] 1 -# 7| 1: [ExprStmt] ; -# 7| 0: [AssignExpr] ...=... -# 7| 0: [VarAccess] tmp3_bitMask0 -# 7| 1: [OrBitwiseExpr] ... | ... -# 7| 0: [VarAccess] tmp3_bitMask0 -# 7| 1: [IntegerLiteral] 2 -# 7| 1: [WhenBranch] ... -> ... -# 7| 0: [BooleanLiteral] true -# 7| 1: [WhileStmt] while (...) -# 7| 0: [VarAccess] tmp1_flag -# 7| 1: [BlockStmt] { ... } -# 7| 0: [ExprStmt] ; -# 7| 0: [AssignExpr] ...=... -# 7| 0: [VarAccess] tmp2_index -# 7| 1: [MethodCall] decodeElementIndex(...) -# 7| -1: [VarAccess] tmp6_input -# 7| 0: [VarAccess] tmp0_desc -# 7| 1: [ExprStmt] ; -# 7| 0: [WhenExpr] when ... -# 7| 0: [WhenBranch] ... -> ... -# 7| 0: [ValueEQExpr] ... (value equals) ... -# 7| 0: [VarAccess] tmp2_index -# 7| 1: [IntegerLiteral] -1 -# 7| 1: [ExprStmt] ; -# 7| 0: [AssignExpr] ...=... -# 7| 0: [VarAccess] tmp1_flag -# 7| 1: [BooleanLiteral] false -# 7| 1: [WhenBranch] ... -> ... -# 7| 0: [ValueEQExpr] ... (value equals) ... -# 7| 0: [VarAccess] tmp2_index -# 7| 1: [IntegerLiteral] 0 -# 7| 1: [BlockStmt] { ... } -# 7| 0: [ExprStmt] ; -# 7| 0: [AssignExpr] ...=... -# 7| 0: [VarAccess] tmp4_local0 -# 7| 1: [MethodCall] decodeStringElement(...) -# 7| -1: [VarAccess] tmp6_input -# 7| 0: [VarAccess] tmp0_desc -# 7| 1: [IntegerLiteral] 0 -# 7| 1: [ExprStmt] ; -# 7| 0: [AssignExpr] ...=... -# 7| 0: [VarAccess] tmp3_bitMask0 -# 7| 1: [OrBitwiseExpr] ... | ... -# 7| 0: [VarAccess] tmp3_bitMask0 -# 7| 1: [IntegerLiteral] 1 -# 7| 2: [WhenBranch] ... -> ... -# 7| 0: [ValueEQExpr] ... (value equals) ... -# 7| 0: [VarAccess] tmp2_index -# 7| 1: [IntegerLiteral] 1 -# 7| 1: [BlockStmt] { ... } -# 7| 0: [ExprStmt] ; -# 7| 0: [AssignExpr] ...=... -# 7| 0: [VarAccess] tmp5_local1 -# 7| 1: [MethodCall] decodeIntElement(...) -# 7| -1: [VarAccess] tmp6_input -# 7| 0: [VarAccess] tmp0_desc -# 7| 1: [IntegerLiteral] 1 -# 7| 1: [ExprStmt] ; -# 7| 0: [AssignExpr] ...=... -# 7| 0: [VarAccess] tmp3_bitMask0 -# 7| 1: [OrBitwiseExpr] ... | ... -# 7| 0: [VarAccess] tmp3_bitMask0 -# 7| 1: [IntegerLiteral] 2 -# 7| 3: [WhenBranch] ... -> ... -# 7| 0: [BooleanLiteral] true -# 7| 1: [ThrowStmt] throw ... -# 7| 0: [ClassInstanceExpr] new UnknownFieldException(...) -# 7| -3: [TypeAccess] UnknownFieldException -# 7| 0: [VarAccess] tmp2_index -# 7| 8: [ExprStmt] ; -# 7| 0: [MethodCall] endStructure(...) -# 7| -1: [VarAccess] tmp6_input -# 7| 0: [VarAccess] tmp0_desc -# 7| 9: [ReturnStmt] return ... -# 7| 0: [ClassInstanceExpr] new Project(...) -# 7| -3: [TypeAccess] Project -# 7| 0: [VarAccess] tmp3_bitMask0 -# 7| 1: [VarAccess] tmp4_local0 -# 7| 2: [VarAccess] tmp5_local1 -# 7| 3: [NullLiteral] null -# 0| 4: [Method] getDescriptor +# 0| 3: [Method] getDescriptor #-----| 1: (Annotations) # 0| 1: [Annotation] NotNull # 0| 3: [TypeAccess] SerialDescriptor -# 0| 5: [BlockStmt] { ... } -# 0| 0: [ReturnStmt] return ... -# 0| 0: [VarAccess] this.descriptor -# 0| -1: [ThisAccess] this -# 0| 5: [Method] serialize +# 0| 4: [Method] serialize # 0| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 0| 0: [Parameter] encoder @@ -423,55 +234,11 @@ app/src/main/kotlin/testProject/App.kt: #-----| -1: (Annotations) # 0| 1: [Annotation] NotNull # 0| 0: [TypeAccess] Project -# 7| 5: [BlockStmt] { ... } -# 7| 0: [LocalVariableDeclStmt] var ...; -# 7| 1: [LocalVariableDeclExpr] tmp0_desc -# 7| 0: [MethodCall] getDescriptor(...) -# 7| -1: [ThisAccess] this -# 7| 1: [LocalVariableDeclStmt] var ...; -# 7| 1: [LocalVariableDeclExpr] tmp1_output -# 7| 0: [MethodCall] beginStructure(...) -# 7| -1: [VarAccess] encoder -# 7| 0: [VarAccess] tmp0_desc -# 7| 2: [ExprStmt] ; -# 7| 0: [MethodCall] write$Self(...) -# 7| -1: [TypeAccess] Project -# 7| 0: [VarAccess] value -# 7| 1: [VarAccess] tmp1_output -# 7| 2: [VarAccess] tmp0_desc -# 7| 3: [ExprStmt] ; -# 7| 0: [MethodCall] endStructure(...) -# 7| -1: [VarAccess] tmp1_output -# 7| 0: [VarAccess] tmp0_desc -# 7| 6: [Constructor] $serializer +# 7| 5: [Constructor] $serializer # 7| 5: [BlockStmt] { ... } # 7| 0: [SuperConstructorInvocationStmt] super(...) # 7| 1: [BlockStmt] { ... } -# 7| 0: [LocalVariableDeclStmt] var ...; -# 7| 1: [LocalVariableDeclExpr] tmp0_serialDesc -# 7| 0: [ClassInstanceExpr] new PluginGeneratedSerialDescriptor(...) -# 7| -3: [TypeAccess] PluginGeneratedSerialDescriptor -# 7| 0: [StringLiteral] "testProject.Project" -# 7| 1: [ThisAccess] $serializer.this -# 7| 0: [TypeAccess] $serializer -# 7| 2: [IntegerLiteral] 2 -# 7| 1: [ExprStmt] ; -# 7| 0: [MethodCall] addElement(...) -# 7| -1: [VarAccess] tmp0_serialDesc -# 7| 0: [StringLiteral] "name" -# 7| 1: [BooleanLiteral] false -# 7| 2: [ExprStmt] ; -# 7| 0: [MethodCall] addElement(...) -# 7| -1: [VarAccess] tmp0_serialDesc -# 7| 0: [StringLiteral] "language" -# 7| 1: [BooleanLiteral] false -# 7| 3: [ExprStmt] ; -# 7| 0: [AssignExpr] ...=... -# 7| 0: [VarAccess] $serializer.this.descriptor -# 7| -1: [ThisAccess] $serializer.this -# 7| 0: [TypeAccess] $serializer -# 7| 1: [VarAccess] tmp0_serialDesc -# 7| 7: [Method] typeParametersSerializers +# 7| 6: [Method] typeParametersSerializers # 7| 3: [TypeAccess] KSerializer[] # 7| 0: [TypeAccess] KSerializer # 7| 0: [WildcardTypeAccess] ? ... @@ -486,9 +253,6 @@ app/src/main/kotlin/testProject/App.kt: # 0| 1: [Annotation] NotNull # 0| 3: [TypeAccess] KSerializer # 0| 0: [TypeAccess] Project -# 7| 5: [BlockStmt] { ... } -# 7| 0: [ReturnStmt] return ... -# 7| 0: [VarAccess] INSTANCE # 7| 2: [Constructor] Companion # 7| 5: [BlockStmt] { ... } # 7| 0: [SuperConstructorInvocationStmt] super(...) @@ -554,45 +318,6 @@ app/src/main/kotlin/testProject/App.kt: # 0| 0: [TypeAccess] String # 0| 2: [Parameter] serializationConstructorMarker # 0| 0: [TypeAccess] SerializationConstructorMarker -# 14| 5: [BlockStmt] { ... } -# 14| 0: [ExprStmt] ; -# 14| 0: [WhenExpr] when ... -# 14| 0: [WhenBranch] ... -> ... -# 14| 0: [ValueNEExpr] ... (value not-equals) ... -# 14| 0: [IntegerLiteral] 0 -# 14| 1: [AndBitwiseExpr] ... & ... -# 14| 0: [IntegerLiteral] 0 -# 14| 1: [VarAccess] seen1 -# 14| 1: [ExprStmt] ; -# 14| 0: [MethodCall] throwMissingFieldException(...) -# 14| -1: [TypeAccess] PluginExceptionsKt -# 14| 0: [VarAccess] seen1 -# 14| 1: [IntegerLiteral] 0 -# 14| 2: [MethodCall] getDescriptor(...) -# 14| -1: [VarAccess] INSTANCE -# 14| 1: [SuperConstructorInvocationStmt] super(...) -# 14| 2: [ExprStmt] ; -# 14| 0: [WhenExpr] when ... -# 14| 0: [WhenBranch] ... -> ... -# 14| 0: [ValueEQExpr] ... (value equals) ... -# 14| 0: [IntegerLiteral] 0 -# 14| 1: [AndBitwiseExpr] ... & ... -# 14| 0: [VarAccess] seen1 -# 14| 1: [IntegerLiteral] 1 -# 14| 1: [ExprStmt] ; -# 14| 0: [AssignExpr] ...=... -# 14| 0: [VarAccess] X.this.id -# 14| -1: [ThisAccess] X.this -# 14| 0: [TypeAccess] X -# 16| 1: [StringLiteral] "X" -# 14| 1: [WhenBranch] ... -> ... -# 14| 0: [BooleanLiteral] true -# 14| 1: [ExprStmt] ; -# 14| 0: [AssignExpr] ...=... -# 14| 0: [VarAccess] X.this.id -# 14| -1: [ThisAccess] X.this -# 14| 0: [TypeAccess] X -# 14| 1: [VarAccess] id # 0| 2: [Method] write$Self #-----| 1: (Annotations) # 0| 1: [Annotation] JvmStatic @@ -610,32 +335,6 @@ app/src/main/kotlin/testProject/App.kt: #-----| -1: (Annotations) # 0| 1: [Annotation] NotNull # 0| 0: [TypeAccess] SerialDescriptor -# 14| 5: [BlockStmt] { ... } -# 14| 0: [ExprStmt] ; -# 14| 0: [WhenExpr] when ... -# 14| 0: [WhenBranch] ... -> ... -# 14| 0: [WhenExpr] when ... -# 14| 0: [WhenBranch] ... -> ... -# 14| 0: [MethodCall] shouldEncodeElementDefault(...) -# 14| -1: [VarAccess] output -# 14| 0: [VarAccess] serialDesc -# 14| 1: [IntegerLiteral] 0 -# 14| 1: [ExprStmt] ; -# 14| 0: [BooleanLiteral] true -# 14| 1: [WhenBranch] ... -> ... -# 14| 0: [BooleanLiteral] true -# 14| 1: [ExprStmt] ; -# 14| 0: [ValueNEExpr] ... (value not-equals) ... -# 14| 0: [MethodCall] getId(...) -# 14| -1: [VarAccess] self -# 16| 1: [StringLiteral] "X" -# 14| 1: [ExprStmt] ; -# 14| 0: [MethodCall] encodeStringElement(...) -# 14| -1: [VarAccess] output -# 14| 0: [VarAccess] serialDesc -# 14| 1: [IntegerLiteral] 0 -# 14| 2: [MethodCall] getId(...) -# 14| -1: [VarAccess] self # 14| 3: [Class] $serializer #-----| -3: (Annotations) # 0| 1: [Annotation] Deprecated @@ -645,21 +344,13 @@ app/src/main/kotlin/testProject/App.kt: # 0| 2: [ArrayInit] {...} # 0| 3: [VarAccess] DeprecationLevel.HIDDEN # 0| -1: [TypeAccess] DeprecationLevel -# 0| 1: [FieldDeclaration] SerialDescriptor descriptor; -# 0| -1: [TypeAccess] SerialDescriptor -# 0| 2: [Method] childSerializers +# 0| 1: [Method] childSerializers #-----| 1: (Annotations) # 0| 1: [Annotation] NotNull # 0| 3: [TypeAccess] KSerializer[] # 0| 0: [TypeAccess] KSerializer # 0| 0: [WildcardTypeAccess] ? ... -# 14| 5: [BlockStmt] { ... } -# 14| 0: [ReturnStmt] return ... -# 14| 0: [ArrayCreationExpr] new KSerializer[] -# 14| -2: [ArrayInit] {...} -# 14| -1: [TypeAccess] KSerializer -# 14| 0: [IntegerLiteral] 1 -# 0| 3: [Method] deserialize +# 0| 2: [Method] deserialize #-----| 1: (Annotations) # 0| 1: [Annotation] NotNull # 0| 3: [TypeAccess] X @@ -668,112 +359,11 @@ app/src/main/kotlin/testProject/App.kt: #-----| -1: (Annotations) # 0| 1: [Annotation] NotNull # 0| 0: [TypeAccess] Decoder -# 14| 5: [BlockStmt] { ... } -# 14| 0: [LocalVariableDeclStmt] var ...; -# 14| 1: [LocalVariableDeclExpr] tmp0_desc -# 14| 0: [MethodCall] getDescriptor(...) -# 14| -1: [ThisAccess] this -# 14| 1: [LocalVariableDeclStmt] var ...; -# 14| 1: [LocalVariableDeclExpr] tmp1_flag -# 14| 0: [BooleanLiteral] true -# 14| 2: [LocalVariableDeclStmt] var ...; -# 14| 1: [LocalVariableDeclExpr] tmp2_index -# 14| 0: [IntegerLiteral] 0 -# 14| 3: [LocalVariableDeclStmt] var ...; -# 14| 1: [LocalVariableDeclExpr] tmp3_bitMask0 -# 14| 0: [IntegerLiteral] 0 -# 14| 4: [LocalVariableDeclStmt] var ...; -# 14| 1: [LocalVariableDeclExpr] tmp4_local0 -# 14| 0: [NullLiteral] null -# 14| 5: [LocalVariableDeclStmt] var ...; -# 14| 1: [LocalVariableDeclExpr] tmp5_input -# 14| 0: [MethodCall] beginStructure(...) -# 14| -1: [VarAccess] decoder -# 14| 0: [VarAccess] tmp0_desc -# 14| 6: [ExprStmt] ; -# 14| 0: [WhenExpr] when ... -# 14| 0: [WhenBranch] ... -> ... -# 14| 0: [MethodCall] decodeSequentially(...) -# 14| -1: [VarAccess] tmp5_input -# 14| 1: [BlockStmt] { ... } -# 14| 0: [BlockStmt] { ... } -# 14| 0: [ExprStmt] ; -# 14| 0: [AssignExpr] ...=... -# 14| 0: [VarAccess] tmp4_local0 -# 14| 1: [MethodCall] decodeStringElement(...) -# 14| -1: [VarAccess] tmp5_input -# 14| 0: [VarAccess] tmp0_desc -# 14| 1: [IntegerLiteral] 0 -# 14| 1: [ExprStmt] ; -# 14| 0: [AssignExpr] ...=... -# 14| 0: [VarAccess] tmp3_bitMask0 -# 14| 1: [OrBitwiseExpr] ... | ... -# 14| 0: [VarAccess] tmp3_bitMask0 -# 14| 1: [IntegerLiteral] 1 -# 14| 1: [WhenBranch] ... -> ... -# 14| 0: [BooleanLiteral] true -# 14| 1: [WhileStmt] while (...) -# 14| 0: [VarAccess] tmp1_flag -# 14| 1: [BlockStmt] { ... } -# 14| 0: [ExprStmt] ; -# 14| 0: [AssignExpr] ...=... -# 14| 0: [VarAccess] tmp2_index -# 14| 1: [MethodCall] decodeElementIndex(...) -# 14| -1: [VarAccess] tmp5_input -# 14| 0: [VarAccess] tmp0_desc -# 14| 1: [ExprStmt] ; -# 14| 0: [WhenExpr] when ... -# 14| 0: [WhenBranch] ... -> ... -# 14| 0: [ValueEQExpr] ... (value equals) ... -# 14| 0: [VarAccess] tmp2_index -# 14| 1: [IntegerLiteral] -1 -# 14| 1: [ExprStmt] ; -# 14| 0: [AssignExpr] ...=... -# 14| 0: [VarAccess] tmp1_flag -# 14| 1: [BooleanLiteral] false -# 14| 1: [WhenBranch] ... -> ... -# 14| 0: [ValueEQExpr] ... (value equals) ... -# 14| 0: [VarAccess] tmp2_index -# 14| 1: [IntegerLiteral] 0 -# 14| 1: [BlockStmt] { ... } -# 14| 0: [ExprStmt] ; -# 14| 0: [AssignExpr] ...=... -# 14| 0: [VarAccess] tmp4_local0 -# 14| 1: [MethodCall] decodeStringElement(...) -# 14| -1: [VarAccess] tmp5_input -# 14| 0: [VarAccess] tmp0_desc -# 14| 1: [IntegerLiteral] 0 -# 14| 1: [ExprStmt] ; -# 14| 0: [AssignExpr] ...=... -# 14| 0: [VarAccess] tmp3_bitMask0 -# 14| 1: [OrBitwiseExpr] ... | ... -# 14| 0: [VarAccess] tmp3_bitMask0 -# 14| 1: [IntegerLiteral] 1 -# 14| 2: [WhenBranch] ... -> ... -# 14| 0: [BooleanLiteral] true -# 14| 1: [ThrowStmt] throw ... -# 14| 0: [ClassInstanceExpr] new UnknownFieldException(...) -# 14| -3: [TypeAccess] UnknownFieldException -# 14| 0: [VarAccess] tmp2_index -# 14| 7: [ExprStmt] ; -# 14| 0: [MethodCall] endStructure(...) -# 14| -1: [VarAccess] tmp5_input -# 14| 0: [VarAccess] tmp0_desc -# 14| 8: [ReturnStmt] return ... -# 14| 0: [ClassInstanceExpr] new X(...) -# 14| -3: [TypeAccess] X -# 14| 0: [VarAccess] tmp3_bitMask0 -# 14| 1: [VarAccess] tmp4_local0 -# 14| 2: [NullLiteral] null -# 0| 4: [Method] getDescriptor +# 0| 3: [Method] getDescriptor #-----| 1: (Annotations) # 0| 1: [Annotation] NotNull # 0| 3: [TypeAccess] SerialDescriptor -# 0| 5: [BlockStmt] { ... } -# 0| 0: [ReturnStmt] return ... -# 0| 0: [VarAccess] this.descriptor -# 0| -1: [ThisAccess] this -# 0| 5: [Method] serialize +# 0| 4: [Method] serialize # 0| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 0| 0: [Parameter] encoder @@ -784,50 +374,11 @@ app/src/main/kotlin/testProject/App.kt: #-----| -1: (Annotations) # 0| 1: [Annotation] NotNull # 0| 0: [TypeAccess] X -# 14| 5: [BlockStmt] { ... } -# 14| 0: [LocalVariableDeclStmt] var ...; -# 14| 1: [LocalVariableDeclExpr] tmp0_desc -# 14| 0: [MethodCall] getDescriptor(...) -# 14| -1: [ThisAccess] this -# 14| 1: [LocalVariableDeclStmt] var ...; -# 14| 1: [LocalVariableDeclExpr] tmp1_output -# 14| 0: [MethodCall] beginStructure(...) -# 14| -1: [VarAccess] encoder -# 14| 0: [VarAccess] tmp0_desc -# 14| 2: [ExprStmt] ; -# 14| 0: [MethodCall] write$Self(...) -# 14| -1: [TypeAccess] X -# 14| 0: [VarAccess] value -# 14| 1: [VarAccess] tmp1_output -# 14| 2: [VarAccess] tmp0_desc -# 14| 3: [ExprStmt] ; -# 14| 0: [MethodCall] endStructure(...) -# 14| -1: [VarAccess] tmp1_output -# 14| 0: [VarAccess] tmp0_desc -# 14| 6: [Constructor] $serializer +# 14| 5: [Constructor] $serializer # 14| 5: [BlockStmt] { ... } # 14| 0: [SuperConstructorInvocationStmt] super(...) # 14| 1: [BlockStmt] { ... } -# 14| 0: [LocalVariableDeclStmt] var ...; -# 14| 1: [LocalVariableDeclExpr] tmp0_serialDesc -# 14| 0: [ClassInstanceExpr] new PluginGeneratedSerialDescriptor(...) -# 14| -3: [TypeAccess] PluginGeneratedSerialDescriptor -# 14| 0: [StringLiteral] "testProject.X" -# 14| 1: [ThisAccess] $serializer.this -# 14| 0: [TypeAccess] $serializer -# 14| 2: [IntegerLiteral] 1 -# 14| 1: [ExprStmt] ; -# 14| 0: [MethodCall] addElement(...) -# 14| -1: [VarAccess] tmp0_serialDesc -# 14| 0: [StringLiteral] "id" -# 14| 1: [BooleanLiteral] true -# 14| 2: [ExprStmt] ; -# 14| 0: [AssignExpr] ...=... -# 14| 0: [VarAccess] $serializer.this.descriptor -# 14| -1: [ThisAccess] $serializer.this -# 14| 0: [TypeAccess] $serializer -# 14| 1: [VarAccess] tmp0_serialDesc -# 14| 7: [Method] typeParametersSerializers +# 14| 6: [Method] typeParametersSerializers # 14| 3: [TypeAccess] KSerializer[] # 14| 0: [TypeAccess] KSerializer # 14| 0: [WildcardTypeAccess] ? ... @@ -842,9 +393,6 @@ app/src/main/kotlin/testProject/App.kt: # 0| 1: [Annotation] NotNull # 0| 3: [TypeAccess] KSerializer # 0| 0: [TypeAccess] X -# 14| 5: [BlockStmt] { ... } -# 14| 0: [ReturnStmt] return ... -# 14| 0: [VarAccess] INSTANCE # 14| 2: [Constructor] Companion # 14| 5: [BlockStmt] { ... } # 14| 0: [SuperConstructorInvocationStmt] super(...) diff --git a/java/ql/integration-tests/kotlin/all-platforms/gradle_kotlinx_serialization/app/build.gradle b/java/ql/integration-tests/kotlin/all-platforms/gradle_kotlinx_serialization/app/build.gradle index 528b73cabc5..2b13663941d 100644 --- a/java/ql/integration-tests/kotlin/all-platforms/gradle_kotlinx_serialization/app/build.gradle +++ b/java/ql/integration-tests/kotlin/all-platforms/gradle_kotlinx_serialization/app/build.gradle @@ -1,6 +1,6 @@ plugins { - id 'org.jetbrains.kotlin.jvm' version '1.6.10' - id 'org.jetbrains.kotlin.plugin.serialization' version '1.6.10' + id 'org.jetbrains.kotlin.jvm' version '1.8.10' + id 'org.jetbrains.kotlin.plugin.serialization' version '1.8.10' } repositories { @@ -8,6 +8,5 @@ repositories { } dependencies { - implementation "org.jetbrains.kotlin:kotlin-serialization:1.6.10" - implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:1.3.2" + implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:1.5.0" } diff --git a/java/ql/integration-tests/kotlin/all-platforms/gradle_kotlinx_serialization/diag.expected b/java/ql/integration-tests/kotlin/all-platforms/gradle_kotlinx_serialization/diag.expected index 96a297f9cb2..e69de29bb2d 100644 --- a/java/ql/integration-tests/kotlin/all-platforms/gradle_kotlinx_serialization/diag.expected +++ b/java/ql/integration-tests/kotlin/all-platforms/gradle_kotlinx_serialization/diag.expected @@ -1,2 +0,0 @@ -| CodeQL Kotlin extractor | 5 | | Unbound symbol found, skipping extraction of expression | app/src/main/kotlin/testProject/App.kt:7:1:8:55 | app/src/main/kotlin/testProject/App.kt:7:1:8:55 | -| CodeQL Kotlin extractor | 5 | | Unbound symbol found, skipping extraction of expression | app/src/main/kotlin/testProject/App.kt:14:1:17:1 | app/src/main/kotlin/testProject/App.kt:14:1:17:1 |