Skip to content

Commit 86af0c8

Browse files
Kotlin 2.4.0: Update test expectations for IrRichPropertyReference
Kotlin 2.4.0 represents bound callable references as IrRichPropertyReference nodes instead of IrPropertyReference with bound receivers. The extractor does not yet handle these new IR nodes, resulting in fewer extracted results for bound property references. This is a known limitation to be addressed in a follow-up PR. Affected tests: - library-tests/exprs: delegatedProperties.kt bound member extension refs - library-tests/reflection: bound extension property reference Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent b89b6e4 commit 86af0c8

7 files changed

Lines changed: 10 additions & 45 deletions

File tree

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
| delegatedProperties.kt:69:39:69:56 | getExtDelegated(...) | delegatedProperties.kt:87:1:87:46 | getExtDelegated | 0 | 1 |
2+
| delegatedProperties.kt:69:39:69:56 | setExtDelegated(...) | delegatedProperties.kt:87:1:87:46 | setExtDelegated | 1 | 2 |

java/ql/test-kotlin2/library-tests/exprs/PrintAst.expected

Lines changed: 4 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1231,43 +1231,28 @@ delegatedProperties.kt:
12311231
# 69| 0: [PropertyRefExpr] ...::...
12321232
# 69| -4: [AnonymousClass] new KMutableProperty0<Integer>(...) { ... }
12331233
# 69| 1: [Constructor]
1234-
#-----| 4: (Parameters)
1235-
# 69| 0: [Parameter] <extensionReceiver>
12361234
# 69| 5: [BlockStmt] { ... }
12371235
# 69| 0: [SuperConstructorInvocationStmt] super(...)
1238-
# 69| 1: [ExprStmt] <Expr>;
1239-
# 69| 0: [AssignExpr] ...=...
1240-
# 69| 0: [VarAccess] this.<extensionReceiver>
1241-
# 69| -1: [ThisAccess] this
1242-
# 69| 1: [VarAccess] <extensionReceiver>
1243-
# 69| 2: [FieldDeclaration] MyClass <extensionReceiver>;
1244-
# 69| -1: [TypeAccess] MyClass
1245-
# 69| 3: [Method] get
1236+
# 69| 2: [Method] get
12461237
# 69| 5: [BlockStmt] { ... }
12471238
# 69| 0: [ReturnStmt] return ...
12481239
# 69| 0: [MethodCall] getExtDelegated(...)
12491240
# 69| -1: [TypeAccess] DelegatedPropertiesKt
1250-
# 69| 0: [VarAccess] this.<extensionReceiver>
1251-
# 69| -1: [ThisAccess] this
1252-
# 69| 4: [Method] invoke
1241+
# 69| 3: [Method] invoke
12531242
# 69| 5: [BlockStmt] { ... }
12541243
# 69| 0: [ReturnStmt] return ...
12551244
# 69| 0: [MethodCall] get(...)
12561245
# 69| -1: [ThisAccess] this
1257-
# 69| 5: [Method] set
1246+
# 69| 4: [Method] set
12581247
#-----| 4: (Parameters)
12591248
# 69| 0: [Parameter] a0
12601249
# 69| 5: [BlockStmt] { ... }
12611250
# 69| 0: [ReturnStmt] return ...
12621251
# 69| 0: [MethodCall] setExtDelegated(...)
12631252
# 69| -1: [TypeAccess] DelegatedPropertiesKt
1264-
# 69| 0: [VarAccess] this.<extensionReceiver>
1265-
# 69| -1: [ThisAccess] this
1266-
# 69| 1: [VarAccess] a0
1253+
# 69| 0: [VarAccess] a0
12671254
# 69| -3: [TypeAccess] KMutableProperty0<Integer>
12681255
# 69| 0: [TypeAccess] Integer
1269-
# 69| 0: [ThisAccess] MyClass.this
1270-
# 69| 0: [TypeAccess] MyClass
12711256
# 70| 16: [Method] getDelegatedToExtMember2
12721257
# 70| 3: [TypeAccess] int
12731258
# 70| 5: [BlockStmt] { ... }

java/ql/test-kotlin2/library-tests/exprs/exprs.expected

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -459,14 +459,10 @@
459459
| delegatedProperties.kt:69:5:69:56 | Unit | file://:0:0:0:0 | <none> | TypeAccess |
460460
| delegatedProperties.kt:69:5:69:56 | int | file://:0:0:0:0 | <none> | TypeAccess |
461461
| delegatedProperties.kt:69:5:69:56 | int | file://:0:0:0:0 | <none> | TypeAccess |
462-
| delegatedProperties.kt:69:39:69:42 | MyClass | delegatedProperties.kt:65:14:65:78 | MyClass | TypeAccess |
463-
| delegatedProperties.kt:69:39:69:42 | MyClass.this | delegatedProperties.kt:65:14:65:78 | MyClass | ThisAccess |
464462
| delegatedProperties.kt:69:39:69:56 | ...::... | delegatedProperties.kt:65:14:65:78 | MyClass | PropertyRefExpr |
465463
| delegatedProperties.kt:69:39:69:56 | ...::... | delegatedProperties.kt:69:5:69:56 | getDelegatedToExtMember1 | PropertyRefExpr |
466464
| delegatedProperties.kt:69:39:69:56 | ...::... | delegatedProperties.kt:69:5:69:56 | setDelegatedToExtMember1 | PropertyRefExpr |
467465
| delegatedProperties.kt:69:39:69:56 | ...=... | delegatedProperties.kt:65:14:65:78 | MyClass | KtInitializerAssignExpr |
468-
| delegatedProperties.kt:69:39:69:56 | ...=... | delegatedProperties.kt:69:39:69:56 | | AssignExpr |
469-
| delegatedProperties.kt:69:39:69:56 | <extensionReceiver> | delegatedProperties.kt:69:39:69:56 | | VarAccess |
470466
| delegatedProperties.kt:69:39:69:56 | <set-?> | delegatedProperties.kt:69:5:69:56 | setDelegatedToExtMember1 | VarAccess |
471467
| delegatedProperties.kt:69:39:69:56 | DelegatedPropertiesKt | delegatedProperties.kt:69:39:69:56 | get | TypeAccess |
472468
| delegatedProperties.kt:69:39:69:56 | DelegatedPropertiesKt | delegatedProperties.kt:69:39:69:56 | set | TypeAccess |
@@ -482,7 +478,6 @@
482478
| delegatedProperties.kt:69:39:69:56 | KMutableProperty1<MyClass,Integer> | delegatedProperties.kt:69:5:69:56 | setDelegatedToExtMember1 | TypeAccess |
483479
| delegatedProperties.kt:69:39:69:56 | MyClass | delegatedProperties.kt:69:5:69:56 | getDelegatedToExtMember1 | TypeAccess |
484480
| delegatedProperties.kt:69:39:69:56 | MyClass | delegatedProperties.kt:69:5:69:56 | setDelegatedToExtMember1 | TypeAccess |
485-
| delegatedProperties.kt:69:39:69:56 | MyClass | file://:0:0:0:0 | <none> | TypeAccess |
486481
| delegatedProperties.kt:69:39:69:56 | PropertyReferenceDelegatesKt | delegatedProperties.kt:69:5:69:56 | getDelegatedToExtMember1 | TypeAccess |
487482
| delegatedProperties.kt:69:39:69:56 | PropertyReferenceDelegatesKt | delegatedProperties.kt:69:5:69:56 | setDelegatedToExtMember1 | TypeAccess |
488483
| delegatedProperties.kt:69:39:69:56 | a0 | delegatedProperties.kt:69:39:69:56 | get | VarAccess |
@@ -510,15 +505,9 @@
510505
| delegatedProperties.kt:69:39:69:56 | this | delegatedProperties.kt:69:5:69:56 | getDelegatedToExtMember1 | ThisAccess |
511506
| delegatedProperties.kt:69:39:69:56 | this | delegatedProperties.kt:69:5:69:56 | setDelegatedToExtMember1 | ThisAccess |
512507
| delegatedProperties.kt:69:39:69:56 | this | delegatedProperties.kt:69:5:69:56 | setDelegatedToExtMember1 | ThisAccess |
513-
| delegatedProperties.kt:69:39:69:56 | this | delegatedProperties.kt:69:39:69:56 | | ThisAccess |
514-
| delegatedProperties.kt:69:39:69:56 | this | delegatedProperties.kt:69:39:69:56 | get | ThisAccess |
515508
| delegatedProperties.kt:69:39:69:56 | this | delegatedProperties.kt:69:39:69:56 | invoke | ThisAccess |
516509
| delegatedProperties.kt:69:39:69:56 | this | delegatedProperties.kt:69:39:69:56 | invoke | ThisAccess |
517510
| delegatedProperties.kt:69:39:69:56 | this | delegatedProperties.kt:69:39:69:56 | invoke | ThisAccess |
518-
| delegatedProperties.kt:69:39:69:56 | this | delegatedProperties.kt:69:39:69:56 | set | ThisAccess |
519-
| delegatedProperties.kt:69:39:69:56 | this.<extensionReceiver> | delegatedProperties.kt:69:39:69:56 | | VarAccess |
520-
| delegatedProperties.kt:69:39:69:56 | this.<extensionReceiver> | delegatedProperties.kt:69:39:69:56 | get | VarAccess |
521-
| delegatedProperties.kt:69:39:69:56 | this.<extensionReceiver> | delegatedProperties.kt:69:39:69:56 | set | VarAccess |
522511
| delegatedProperties.kt:69:39:69:56 | this.delegatedToExtMember1$delegate | delegatedProperties.kt:69:5:69:56 | getDelegatedToExtMember1 | VarAccess |
523512
| delegatedProperties.kt:69:39:69:56 | this.delegatedToExtMember1$delegate | delegatedProperties.kt:69:5:69:56 | setDelegatedToExtMember1 | VarAccess |
524513
| delegatedProperties.kt:70:5:70:59 | Unit | file://:0:0:0:0 | <none> | TypeAccess |
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
| reflection.kt:51:13:51:28 | getLastChar(...) | reflection.kt:47:5:47:28 | getLastChar | 0 | 1 |

java/ql/test-kotlin2/library-tests/reflection/PrintAst.expected

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -53,32 +53,20 @@ reflection.kt:
5353
# 51| -1: [PropertyRefExpr] ...::...
5454
# 51| -4: [AnonymousClass] new KProperty0<Character>(...) { ... }
5555
# 51| 1: [Constructor]
56-
#-----| 4: (Parameters)
57-
# 51| 0: [Parameter] <extensionReceiver>
5856
# 51| 5: [BlockStmt] { ... }
5957
# 51| 0: [SuperConstructorInvocationStmt] super(...)
60-
# 51| 1: [ExprStmt] <Expr>;
61-
# 51| 0: [AssignExpr] ...=...
62-
# 51| 0: [VarAccess] this.<extensionReceiver>
63-
# 51| -1: [ThisAccess] this
64-
# 51| 1: [VarAccess] <extensionReceiver>
65-
# 51| 2: [FieldDeclaration] String <extensionReceiver>;
66-
# 51| -1: [TypeAccess] String
67-
# 51| 3: [Method] get
58+
# 51| 2: [Method] get
6859
# 51| 5: [BlockStmt] { ... }
6960
# 51| 0: [ReturnStmt] return ...
7061
# 51| 0: [MethodCall] getLastChar(...)
7162
# 51| -1: [TypeAccess] ReflectionKt
72-
# 51| 0: [VarAccess] this.<extensionReceiver>
73-
# 51| -1: [ThisAccess] this
74-
# 51| 4: [Method] invoke
63+
# 51| 3: [Method] invoke
7564
# 51| 5: [BlockStmt] { ... }
7665
# 51| 0: [ReturnStmt] return ...
7766
# 51| 0: [MethodCall] get(...)
7867
# 51| -1: [ThisAccess] this
7968
# 51| -3: [TypeAccess] KProperty0<Character>
8069
# 51| 0: [TypeAccess] Character
81-
# 51| 0: [StringLiteral] "abcd"
8270
# 54| 3: [ExtensionMethod] ext1
8371
#-----| 2: (Generic Parameters)
8472
# 54| 0: [TypeVariable] T2
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
| Call should have 1 arguments but actually has 0 | reflection.kt:51:13:51:28 | getLastChar(...) | reflection.kt:47:5:47:28 | getLastChar |

java/ql/test-kotlin2/library-tests/reflection/reflection.expected

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,6 @@ fieldAccessInsideInvocationMethods
141141
| reflection.kt:21:44:21:50 | ...::... | reflection.kt:21:44:21:50 | new Function2<C,Integer,Unit>(...) { ... } | reflection.kt:21:44:21:50 | invoke | reflection.kt:21:44:21:50 | this.<dispatchReceiver> |
142142
| reflection.kt:22:42:22:48 | ...::... | reflection.kt:22:42:22:48 | new KMutableProperty0<Integer>(...) { ... } | reflection.kt:22:42:22:48 | get | reflection.kt:22:42:22:48 | this.<dispatchReceiver> |
143143
| reflection.kt:22:42:22:48 | ...::... | reflection.kt:22:42:22:48 | new KMutableProperty0<Integer>(...) { ... } | reflection.kt:22:42:22:48 | set | reflection.kt:22:42:22:48 | this.<dispatchReceiver> |
144-
| reflection.kt:51:13:51:28 | ...::... | reflection.kt:51:13:51:28 | new KProperty0<Character>(...) { ... } | reflection.kt:51:13:51:28 | get | reflection.kt:51:13:51:28 | this.<extensionReceiver> |
145144
| reflection.kt:61:17:61:34 | ...::... | reflection.kt:61:17:61:34 | new Function1<Integer,String>(...) { ... } | reflection.kt:61:17:61:34 | invoke | reflection.kt:61:17:61:34 | this.<dispatchReceiver> |
146145
| reflection.kt:63:17:63:36 | ...::... | reflection.kt:63:17:63:36 | new Function0<String>(...) { ... } | reflection.kt:63:17:63:36 | invoke | reflection.kt:63:17:63:36 | this.<extensionReceiver> |
147146
| reflection.kt:65:17:65:36 | ...::... | reflection.kt:65:17:65:36 | new Function0<String>(...) { ... } | reflection.kt:65:17:65:36 | invoke | reflection.kt:65:17:65:36 | this.<extensionReceiver> |

0 commit comments

Comments
 (0)