mirror of
https://github.com/github/codeql.git
synced 2026-07-12 23:15:40 +02:00
Kotlin: converge delegated-property accessor synthetic thisRef locations onto K2
For `val x by Delegate()`, the compiler synthesises getter/setter bodies that
forward to the delegate's `getValue`/`setValue`, passing a synthetic receiver
argument (the enclosing `this`, or `null` for top-level/extension delegates).
Under the K1 frontend (test-kotlin1, `-language-version 1.9`) these synthetic
receiver arguments were given a bogus location `1:9:1:12`: their IR offsets
(8..11) are not real source offsets for the argument, and `findPsiElement`
resolves them to whatever sits at file offset 8, which for these tests is the
line-1 `import`. This is meaningless and makes the receivers un-searchable by
location.
The K2 frontend (test-kotlin2, default) already produces the intuitive result:
the synthetic member receiver is located at the DELEGATE EXPRESSION (e.g.
`by ResourceDelegate()` -> `ResourceDelegate()`), and a receiver-less `null`
argument gets the whole-file location `0:0:0:0`. K2 output is the canonical
target for this unification (it is also compiler-version-independent).
This change adds `getDelegatedAccessorSyntheticArgumentLocation`, gated on:
- the enclosing declaration being an IrFunction with origin
DELEGATED_PROPERTY_ACCESSOR (member/top-level accessors only),
- the element being either the accessor's dispatch/extension receiver
`IrGetValue` or a null `CodeQLIrConst`, and
- the element offsets lying outside the enclosing `KtProperty` text range
(so genuine in-source expressions are never rehomed).
It returns the delegate expression's location for the `this`/receiver case and
the whole-file location for the `null` case, mirroring K2. It is wired at the
three sites that extract these synthetic args (extractThisAccess, the
IrGetValue variable/extension-receiver path, and the null case of
extractConstant).
The helper relies on PSI (getPsi2Ir), so it is a no-op under K2: test-kotlin2
output is unchanged (verified). Only test-kotlin1 converges.
Trade-offs / scope:
- LOCAL delegated properties (declared inside a function body) are a distinct
mechanism: their get/set is inlined into the enclosing function (no
DELEGATED_PROPERTY_ACCESSOR origin) and the residual divergence there is an
end-offset difference, not the `1:9:1:12` bug. They are deliberately left
for a separate commit.
- The `$delegate` backing-variable initializer/type-access spans still differ
between suites (e.g. `4:18` vs `4:21`); that is an unrelated mechanism and
is not touched here.
- The outside-KtProperty-range gate could in principle false-negative for a
delegated property declared at the very top of a file (offsets <= 11); this
is preferred to over-correcting real expressions and is not observed in the
test corpus.
Relearned test-kotlin1 expected updated (exprs, methods; incl. PrintAst).
Verified via full dual-suite relearn (CI-faithful: 2.3.20/lang-1.9 for tk1,
default/2.4.0 for tk2, database consistency checks): all 3333 tests pass, only
the three delegates-related tk1 files change, every changed row is a pure
relocation of a synthetic receiver from `1:9:1:12` to the K2 target, and
test-kotlin2 is byte-for-byte unchanged.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
@@ -33,7 +33,7 @@ delegatedProperties.kt:
|
||||
# 87| -1: [TypeAccess] PropertyReferenceDelegatesKt
|
||||
# 87| 0: [VarAccess] DelegatedPropertiesKt.extDelegated$delegateMyClass
|
||||
# 87| -1: [TypeAccess] DelegatedPropertiesKt
|
||||
# 1| 1: [ExtensionReceiverAccess] this
|
||||
# 87| 1: [ExtensionReceiverAccess] this
|
||||
# 87| 2: [PropertyRefExpr] ...::...
|
||||
# 87| -4: [AnonymousClass] new KMutableProperty1<MyClass,Integer>(...) { ... }
|
||||
# 87| 1: [Constructor]
|
||||
@@ -82,7 +82,7 @@ delegatedProperties.kt:
|
||||
# 87| -1: [TypeAccess] PropertyReferenceDelegatesKt
|
||||
# 87| 0: [VarAccess] DelegatedPropertiesKt.extDelegated$delegateMyClass
|
||||
# 87| -1: [TypeAccess] DelegatedPropertiesKt
|
||||
# 1| 1: [ExtensionReceiverAccess] this
|
||||
# 87| 1: [ExtensionReceiverAccess] this
|
||||
# 87| 2: [PropertyRefExpr] ...::...
|
||||
# 87| -4: [AnonymousClass] new KMutableProperty1<MyClass,Integer>(...) { ... }
|
||||
# 87| 1: [Constructor]
|
||||
@@ -644,7 +644,7 @@ delegatedProperties.kt:
|
||||
# 42| 0: [MethodCall] getValue(...)
|
||||
# 42| -1: [VarAccess] this.varResource0$delegate
|
||||
# 42| -1: [ThisAccess] this
|
||||
# 1| 0: [ThisAccess] this
|
||||
# 42| 0: [ThisAccess] this
|
||||
# 42| 1: [PropertyRefExpr] ...::...
|
||||
# 42| -4: [AnonymousClass] new KMutableProperty1<Owner,Integer>(...) { ... }
|
||||
# 42| 1: [Constructor]
|
||||
@@ -687,7 +687,7 @@ delegatedProperties.kt:
|
||||
# 42| 0: [MethodCall] setValue(...)
|
||||
# 42| -1: [VarAccess] this.varResource0$delegate
|
||||
# 42| -1: [ThisAccess] this
|
||||
# 1| 0: [ThisAccess] this
|
||||
# 42| 0: [ThisAccess] this
|
||||
# 42| 1: [PropertyRefExpr] ...::...
|
||||
# 42| -4: [AnonymousClass] new KMutableProperty1<Owner,Integer>(...) { ... }
|
||||
# 42| 1: [Constructor]
|
||||
@@ -891,7 +891,7 @@ delegatedProperties.kt:
|
||||
# 66| -1: [TypeAccess] PropertyReferenceDelegatesKt
|
||||
# 66| 0: [VarAccess] this.delegatedToMember1$delegate
|
||||
# 66| -1: [ThisAccess] this
|
||||
# 1| 1: [ThisAccess] this
|
||||
# 66| 1: [ThisAccess] this
|
||||
# 66| 2: [PropertyRefExpr] ...::...
|
||||
# 66| -4: [AnonymousClass] new KMutableProperty1<MyClass,Integer>(...) { ... }
|
||||
# 66| 1: [Constructor]
|
||||
@@ -936,7 +936,7 @@ delegatedProperties.kt:
|
||||
# 66| -1: [TypeAccess] PropertyReferenceDelegatesKt
|
||||
# 66| 0: [VarAccess] this.delegatedToMember1$delegate
|
||||
# 66| -1: [ThisAccess] this
|
||||
# 1| 1: [ThisAccess] this
|
||||
# 66| 1: [ThisAccess] this
|
||||
# 66| 2: [PropertyRefExpr] ...::...
|
||||
# 66| -4: [AnonymousClass] new KMutableProperty1<MyClass,Integer>(...) { ... }
|
||||
# 66| 1: [Constructor]
|
||||
@@ -1021,7 +1021,7 @@ delegatedProperties.kt:
|
||||
# 67| -1: [TypeAccess] PropertyReferenceDelegatesKt
|
||||
# 67| 0: [VarAccess] this.delegatedToMember2$delegate
|
||||
# 67| -1: [ThisAccess] this
|
||||
# 1| 1: [ThisAccess] this
|
||||
# 67| 1: [ThisAccess] this
|
||||
# 67| 2: [PropertyRefExpr] ...::...
|
||||
# 67| -4: [AnonymousClass] new KMutableProperty1<MyClass,Integer>(...) { ... }
|
||||
# 67| 1: [Constructor]
|
||||
@@ -1067,7 +1067,7 @@ delegatedProperties.kt:
|
||||
# 67| -1: [TypeAccess] PropertyReferenceDelegatesKt
|
||||
# 67| 0: [VarAccess] this.delegatedToMember2$delegate
|
||||
# 67| -1: [ThisAccess] this
|
||||
# 1| 1: [ThisAccess] this
|
||||
# 67| 1: [ThisAccess] this
|
||||
# 67| 2: [PropertyRefExpr] ...::...
|
||||
# 67| -4: [AnonymousClass] new KMutableProperty1<MyClass,Integer>(...) { ... }
|
||||
# 67| 1: [Constructor]
|
||||
@@ -1146,7 +1146,7 @@ delegatedProperties.kt:
|
||||
# 69| -1: [TypeAccess] PropertyReferenceDelegatesKt
|
||||
# 69| 0: [VarAccess] this.delegatedToExtMember1$delegate
|
||||
# 69| -1: [ThisAccess] this
|
||||
# 1| 1: [ThisAccess] this
|
||||
# 69| 1: [ThisAccess] this
|
||||
# 69| 2: [PropertyRefExpr] ...::...
|
||||
# 69| -4: [AnonymousClass] new KMutableProperty1<MyClass,Integer>(...) { ... }
|
||||
# 69| 1: [Constructor]
|
||||
@@ -1191,7 +1191,7 @@ delegatedProperties.kt:
|
||||
# 69| -1: [TypeAccess] PropertyReferenceDelegatesKt
|
||||
# 69| 0: [VarAccess] this.delegatedToExtMember1$delegate
|
||||
# 69| -1: [ThisAccess] this
|
||||
# 1| 1: [ThisAccess] this
|
||||
# 69| 1: [ThisAccess] this
|
||||
# 69| 2: [PropertyRefExpr] ...::...
|
||||
# 69| -4: [AnonymousClass] new KMutableProperty1<MyClass,Integer>(...) { ... }
|
||||
# 69| 1: [Constructor]
|
||||
@@ -1278,7 +1278,7 @@ delegatedProperties.kt:
|
||||
# 70| -1: [TypeAccess] PropertyReferenceDelegatesKt
|
||||
# 70| 0: [VarAccess] this.delegatedToExtMember2$delegate
|
||||
# 70| -1: [ThisAccess] this
|
||||
# 1| 1: [ThisAccess] this
|
||||
# 70| 1: [ThisAccess] this
|
||||
# 70| 2: [PropertyRefExpr] ...::...
|
||||
# 70| -4: [AnonymousClass] new KMutableProperty1<MyClass,Integer>(...) { ... }
|
||||
# 70| 1: [Constructor]
|
||||
@@ -1324,7 +1324,7 @@ delegatedProperties.kt:
|
||||
# 70| -1: [TypeAccess] PropertyReferenceDelegatesKt
|
||||
# 70| 0: [VarAccess] this.delegatedToExtMember2$delegate
|
||||
# 70| -1: [ThisAccess] this
|
||||
# 1| 1: [ThisAccess] this
|
||||
# 70| 1: [ThisAccess] this
|
||||
# 70| 2: [PropertyRefExpr] ...::...
|
||||
# 70| -4: [AnonymousClass] new KMutableProperty1<MyClass,Integer>(...) { ... }
|
||||
# 70| 1: [Constructor]
|
||||
@@ -1405,7 +1405,7 @@ delegatedProperties.kt:
|
||||
# 72| -1: [TypeAccess] PropertyReferenceDelegatesKt
|
||||
# 72| 0: [VarAccess] this.delegatedToBaseClass1$delegate
|
||||
# 72| -1: [ThisAccess] this
|
||||
# 1| 1: [ThisAccess] this
|
||||
# 72| 1: [ThisAccess] this
|
||||
# 72| 2: [PropertyRefExpr] ...::...
|
||||
# 72| -4: [AnonymousClass] new KProperty1<MyClass,Integer>(...) { ... }
|
||||
# 72| 1: [Constructor]
|
||||
@@ -1471,7 +1471,7 @@ delegatedProperties.kt:
|
||||
# 73| -1: [TypeAccess] PropertyReferenceDelegatesKt
|
||||
# 73| 0: [VarAccess] this.delegatedToBaseClass2$delegate
|
||||
# 73| -1: [ThisAccess] this
|
||||
# 1| 1: [ThisAccess] this
|
||||
# 73| 1: [ThisAccess] this
|
||||
# 73| 2: [PropertyRefExpr] ...::...
|
||||
# 73| -4: [AnonymousClass] new KProperty1<MyClass,Integer>(...) { ... }
|
||||
# 73| 1: [Constructor]
|
||||
@@ -1531,7 +1531,7 @@ delegatedProperties.kt:
|
||||
# 75| -1: [TypeAccess] PropertyReferenceDelegatesKt
|
||||
# 75| 0: [VarAccess] this.delegatedToAnotherClass1$delegate
|
||||
# 75| -1: [ThisAccess] this
|
||||
# 1| 1: [ThisAccess] this
|
||||
# 75| 1: [ThisAccess] this
|
||||
# 75| 2: [PropertyRefExpr] ...::...
|
||||
# 75| -4: [AnonymousClass] new KProperty1<MyClass,Integer>(...) { ... }
|
||||
# 75| 1: [Constructor]
|
||||
@@ -1597,7 +1597,7 @@ delegatedProperties.kt:
|
||||
# 77| -1: [TypeAccess] PropertyReferenceDelegatesKt
|
||||
# 77| 0: [VarAccess] this.delegatedToTopLevel$delegate
|
||||
# 77| -1: [ThisAccess] this
|
||||
# 1| 1: [ThisAccess] this
|
||||
# 77| 1: [ThisAccess] this
|
||||
# 77| 2: [PropertyRefExpr] ...::...
|
||||
# 77| -4: [AnonymousClass] new KMutableProperty1<MyClass,Integer>(...) { ... }
|
||||
# 77| 1: [Constructor]
|
||||
@@ -1642,7 +1642,7 @@ delegatedProperties.kt:
|
||||
# 77| -1: [TypeAccess] PropertyReferenceDelegatesKt
|
||||
# 77| 0: [VarAccess] this.delegatedToTopLevel$delegate
|
||||
# 77| -1: [ThisAccess] this
|
||||
# 1| 1: [ThisAccess] this
|
||||
# 77| 1: [ThisAccess] this
|
||||
# 77| 2: [PropertyRefExpr] ...::...
|
||||
# 77| -4: [AnonymousClass] new KMutableProperty1<MyClass,Integer>(...) { ... }
|
||||
# 77| 1: [Constructor]
|
||||
@@ -1713,7 +1713,7 @@ delegatedProperties.kt:
|
||||
# 79| -1: [TypeAccess] PropertyReferenceDelegatesKt
|
||||
# 79| 0: [VarAccess] this.max$delegate
|
||||
# 79| -1: [ThisAccess] this
|
||||
# 1| 1: [ThisAccess] this
|
||||
# 79| 1: [ThisAccess] this
|
||||
# 79| 2: [PropertyRefExpr] ...::...
|
||||
# 79| -4: [AnonymousClass] new KProperty1<MyClass,Integer>(...) { ... }
|
||||
# 79| 1: [Constructor]
|
||||
|
||||
@@ -9,24 +9,6 @@
|
||||
| delegatedProperties.kt:0:0:0:0 | null | delegatedProperties.kt:82:9:82:54 | <get-delegatedToMember3> | NullLiteral |
|
||||
| delegatedProperties.kt:0:0:0:0 | null | delegatedProperties.kt:82:9:82:54 | <set-delegatedToMember3> | NullLiteral |
|
||||
| delegatedProperties.kt:1:9:1:12 | null | delegatedProperties.kt:18:5:40:5 | fn | NullLiteral |
|
||||
| delegatedProperties.kt:1:9:1:12 | this | delegatedProperties.kt:42:5:42:47 | getVarResource0 | ThisAccess |
|
||||
| delegatedProperties.kt:1:9:1:12 | this | delegatedProperties.kt:42:5:42:47 | setVarResource0 | ThisAccess |
|
||||
| delegatedProperties.kt:1:9:1:12 | this | delegatedProperties.kt:66:5:66:50 | getDelegatedToMember1 | ThisAccess |
|
||||
| delegatedProperties.kt:1:9:1:12 | this | delegatedProperties.kt:66:5:66:50 | setDelegatedToMember1 | ThisAccess |
|
||||
| delegatedProperties.kt:1:9:1:12 | this | delegatedProperties.kt:67:5:67:53 | getDelegatedToMember2 | ThisAccess |
|
||||
| delegatedProperties.kt:1:9:1:12 | this | delegatedProperties.kt:67:5:67:53 | setDelegatedToMember2 | ThisAccess |
|
||||
| delegatedProperties.kt:1:9:1:12 | this | delegatedProperties.kt:69:5:69:56 | getDelegatedToExtMember1 | ThisAccess |
|
||||
| delegatedProperties.kt:1:9:1:12 | this | delegatedProperties.kt:69:5:69:56 | setDelegatedToExtMember1 | ThisAccess |
|
||||
| delegatedProperties.kt:1:9:1:12 | this | delegatedProperties.kt:70:5:70:59 | getDelegatedToExtMember2 | ThisAccess |
|
||||
| delegatedProperties.kt:1:9:1:12 | this | delegatedProperties.kt:70:5:70:59 | setDelegatedToExtMember2 | ThisAccess |
|
||||
| delegatedProperties.kt:1:9:1:12 | this | delegatedProperties.kt:72:5:72:56 | getDelegatedToBaseClass1 | ThisAccess |
|
||||
| delegatedProperties.kt:1:9:1:12 | this | delegatedProperties.kt:73:5:73:56 | getDelegatedToBaseClass2 | ThisAccess |
|
||||
| delegatedProperties.kt:1:9:1:12 | this | delegatedProperties.kt:75:5:75:78 | getDelegatedToAnotherClass1 | ThisAccess |
|
||||
| delegatedProperties.kt:1:9:1:12 | this | delegatedProperties.kt:77:5:77:49 | getDelegatedToTopLevel | ThisAccess |
|
||||
| delegatedProperties.kt:1:9:1:12 | this | delegatedProperties.kt:77:5:77:49 | setDelegatedToTopLevel | ThisAccess |
|
||||
| delegatedProperties.kt:1:9:1:12 | this | delegatedProperties.kt:79:5:79:38 | getMax | ThisAccess |
|
||||
| delegatedProperties.kt:1:9:1:12 | this | delegatedProperties.kt:87:1:87:46 | getExtDelegated | ExtensionReceiverAccess |
|
||||
| delegatedProperties.kt:1:9:1:12 | this | delegatedProperties.kt:87:1:87:46 | setExtDelegated | ExtensionReceiverAccess |
|
||||
| delegatedProperties.kt:5:5:12:5 | Unit | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| delegatedProperties.kt:6:9:9:9 | int | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| delegatedProperties.kt:6:9:9:9 | prop1$delegate | delegatedProperties.kt:5:5:12:5 | fn | LocalVariableDeclExpr |
|
||||
@@ -276,6 +258,8 @@
|
||||
| delegatedProperties.kt:42:30:42:47 | setVarResource0(...) | delegatedProperties.kt:42:30:42:47 | set | MethodCall |
|
||||
| delegatedProperties.kt:42:30:42:47 | setVarResource0(...) | delegatedProperties.kt:42:30:42:47 | set | MethodCall |
|
||||
| delegatedProperties.kt:42:30:42:47 | this | delegatedProperties.kt:42:5:42:47 | getVarResource0 | ThisAccess |
|
||||
| delegatedProperties.kt:42:30:42:47 | this | delegatedProperties.kt:42:5:42:47 | getVarResource0 | ThisAccess |
|
||||
| delegatedProperties.kt:42:30:42:47 | this | delegatedProperties.kt:42:5:42:47 | setVarResource0 | ThisAccess |
|
||||
| delegatedProperties.kt:42:30:42:47 | this | delegatedProperties.kt:42:5:42:47 | setVarResource0 | ThisAccess |
|
||||
| delegatedProperties.kt:42:30:42:47 | this | delegatedProperties.kt:42:30:42:47 | invoke | ThisAccess |
|
||||
| delegatedProperties.kt:42:30:42:47 | this | delegatedProperties.kt:42:30:42:47 | invoke | ThisAccess |
|
||||
@@ -399,6 +383,8 @@
|
||||
| delegatedProperties.kt:66:36:66:50 | setMemberInt(...) | delegatedProperties.kt:66:36:66:50 | set | MethodCall |
|
||||
| delegatedProperties.kt:66:36:66:50 | setValue(...) | delegatedProperties.kt:66:5:66:50 | setDelegatedToMember1 | MethodCall |
|
||||
| delegatedProperties.kt:66:36:66:50 | this | delegatedProperties.kt:66:5:66:50 | getDelegatedToMember1 | ThisAccess |
|
||||
| delegatedProperties.kt:66:36:66:50 | this | delegatedProperties.kt:66:5:66:50 | getDelegatedToMember1 | ThisAccess |
|
||||
| delegatedProperties.kt:66:36:66:50 | this | delegatedProperties.kt:66:5:66:50 | setDelegatedToMember1 | ThisAccess |
|
||||
| delegatedProperties.kt:66:36:66:50 | this | delegatedProperties.kt:66:5:66:50 | setDelegatedToMember1 | ThisAccess |
|
||||
| delegatedProperties.kt:66:36:66:50 | this | delegatedProperties.kt:66:36:66:50 | | ThisAccess |
|
||||
| delegatedProperties.kt:66:36:66:50 | this | delegatedProperties.kt:66:36:66:50 | get | ThisAccess |
|
||||
@@ -462,6 +448,8 @@
|
||||
| delegatedProperties.kt:67:36:67:53 | setMemberInt(...) | delegatedProperties.kt:67:36:67:53 | set | MethodCall |
|
||||
| delegatedProperties.kt:67:36:67:53 | setValue(...) | delegatedProperties.kt:67:5:67:53 | setDelegatedToMember2 | MethodCall |
|
||||
| delegatedProperties.kt:67:36:67:53 | this | delegatedProperties.kt:67:5:67:53 | getDelegatedToMember2 | ThisAccess |
|
||||
| delegatedProperties.kt:67:36:67:53 | this | delegatedProperties.kt:67:5:67:53 | getDelegatedToMember2 | ThisAccess |
|
||||
| delegatedProperties.kt:67:36:67:53 | this | delegatedProperties.kt:67:5:67:53 | setDelegatedToMember2 | ThisAccess |
|
||||
| delegatedProperties.kt:67:36:67:53 | this | delegatedProperties.kt:67:5:67:53 | setDelegatedToMember2 | ThisAccess |
|
||||
| delegatedProperties.kt:67:36:67:53 | this | delegatedProperties.kt:67:36:67:53 | invoke | ThisAccess |
|
||||
| delegatedProperties.kt:67:36:67:53 | this | delegatedProperties.kt:67:36:67:53 | invoke | ThisAccess |
|
||||
@@ -519,6 +507,8 @@
|
||||
| delegatedProperties.kt:69:39:69:56 | setExtDelegated(...) | delegatedProperties.kt:69:39:69:56 | set | MethodCall |
|
||||
| delegatedProperties.kt:69:39:69:56 | setValue(...) | delegatedProperties.kt:69:5:69:56 | setDelegatedToExtMember1 | MethodCall |
|
||||
| delegatedProperties.kt:69:39:69:56 | this | delegatedProperties.kt:69:5:69:56 | getDelegatedToExtMember1 | ThisAccess |
|
||||
| delegatedProperties.kt:69:39:69:56 | this | delegatedProperties.kt:69:5:69:56 | getDelegatedToExtMember1 | ThisAccess |
|
||||
| delegatedProperties.kt:69:39:69:56 | this | delegatedProperties.kt:69:5:69:56 | setDelegatedToExtMember1 | ThisAccess |
|
||||
| delegatedProperties.kt:69:39:69:56 | this | delegatedProperties.kt:69:5:69:56 | setDelegatedToExtMember1 | ThisAccess |
|
||||
| delegatedProperties.kt:69:39:69:56 | this | delegatedProperties.kt:69:39:69:56 | | ThisAccess |
|
||||
| delegatedProperties.kt:69:39:69:56 | this | delegatedProperties.kt:69:39:69:56 | get | ThisAccess |
|
||||
@@ -584,6 +574,8 @@
|
||||
| delegatedProperties.kt:70:39:70:59 | setExtDelegated(...) | delegatedProperties.kt:70:39:70:59 | set | MethodCall |
|
||||
| delegatedProperties.kt:70:39:70:59 | setValue(...) | delegatedProperties.kt:70:5:70:59 | setDelegatedToExtMember2 | MethodCall |
|
||||
| delegatedProperties.kt:70:39:70:59 | this | delegatedProperties.kt:70:5:70:59 | getDelegatedToExtMember2 | ThisAccess |
|
||||
| delegatedProperties.kt:70:39:70:59 | this | delegatedProperties.kt:70:5:70:59 | getDelegatedToExtMember2 | ThisAccess |
|
||||
| delegatedProperties.kt:70:39:70:59 | this | delegatedProperties.kt:70:5:70:59 | setDelegatedToExtMember2 | ThisAccess |
|
||||
| delegatedProperties.kt:70:39:70:59 | this | delegatedProperties.kt:70:5:70:59 | setDelegatedToExtMember2 | ThisAccess |
|
||||
| delegatedProperties.kt:70:39:70:59 | this | delegatedProperties.kt:70:39:70:59 | invoke | ThisAccess |
|
||||
| delegatedProperties.kt:70:39:70:59 | this | delegatedProperties.kt:70:39:70:59 | invoke | ThisAccess |
|
||||
@@ -617,6 +609,7 @@
|
||||
| delegatedProperties.kt:72:39:72:56 | getDelegatedToBaseClass1(...) | delegatedProperties.kt:72:39:72:56 | get | MethodCall |
|
||||
| delegatedProperties.kt:72:39:72:56 | getValue(...) | delegatedProperties.kt:72:5:72:56 | getDelegatedToBaseClass1 | MethodCall |
|
||||
| delegatedProperties.kt:72:39:72:56 | this | delegatedProperties.kt:72:5:72:56 | getDelegatedToBaseClass1 | ThisAccess |
|
||||
| delegatedProperties.kt:72:39:72:56 | this | delegatedProperties.kt:72:5:72:56 | getDelegatedToBaseClass1 | ThisAccess |
|
||||
| delegatedProperties.kt:72:39:72:56 | this | delegatedProperties.kt:72:39:72:56 | | ThisAccess |
|
||||
| delegatedProperties.kt:72:39:72:56 | this | delegatedProperties.kt:72:39:72:56 | get | ThisAccess |
|
||||
| delegatedProperties.kt:72:39:72:56 | this | delegatedProperties.kt:72:39:72:56 | invoke | ThisAccess |
|
||||
@@ -651,6 +644,7 @@
|
||||
| delegatedProperties.kt:73:39:73:56 | getDelegatedToBaseClass2(...) | delegatedProperties.kt:73:39:73:56 | get | MethodCall |
|
||||
| delegatedProperties.kt:73:39:73:56 | getValue(...) | delegatedProperties.kt:73:5:73:56 | getDelegatedToBaseClass2 | MethodCall |
|
||||
| delegatedProperties.kt:73:39:73:56 | this | delegatedProperties.kt:73:5:73:56 | getDelegatedToBaseClass2 | ThisAccess |
|
||||
| delegatedProperties.kt:73:39:73:56 | this | delegatedProperties.kt:73:5:73:56 | getDelegatedToBaseClass2 | ThisAccess |
|
||||
| delegatedProperties.kt:73:39:73:56 | this | delegatedProperties.kt:73:39:73:56 | invoke | ThisAccess |
|
||||
| delegatedProperties.kt:73:39:73:56 | this | delegatedProperties.kt:73:39:73:56 | invoke | ThisAccess |
|
||||
| delegatedProperties.kt:73:39:73:56 | this.delegatedToBaseClass2$delegate | delegatedProperties.kt:73:5:73:56 | getDelegatedToBaseClass2 | VarAccess |
|
||||
@@ -682,6 +676,7 @@
|
||||
| delegatedProperties.kt:75:42:75:78 | getDelegatedToAnotherClass1(...) | delegatedProperties.kt:75:42:75:78 | get | MethodCall |
|
||||
| delegatedProperties.kt:75:42:75:78 | getValue(...) | delegatedProperties.kt:75:5:75:78 | getDelegatedToAnotherClass1 | MethodCall |
|
||||
| delegatedProperties.kt:75:42:75:78 | this | delegatedProperties.kt:75:5:75:78 | getDelegatedToAnotherClass1 | ThisAccess |
|
||||
| delegatedProperties.kt:75:42:75:78 | this | delegatedProperties.kt:75:5:75:78 | getDelegatedToAnotherClass1 | ThisAccess |
|
||||
| delegatedProperties.kt:75:42:75:78 | this | delegatedProperties.kt:75:42:75:78 | | ThisAccess |
|
||||
| delegatedProperties.kt:75:42:75:78 | this | delegatedProperties.kt:75:42:75:78 | get | ThisAccess |
|
||||
| delegatedProperties.kt:75:42:75:78 | this | delegatedProperties.kt:75:42:75:78 | invoke | ThisAccess |
|
||||
@@ -735,6 +730,8 @@
|
||||
| delegatedProperties.kt:77:37:77:49 | setTopLevelInt(...) | delegatedProperties.kt:77:37:77:49 | set | MethodCall |
|
||||
| delegatedProperties.kt:77:37:77:49 | setValue(...) | delegatedProperties.kt:77:5:77:49 | setDelegatedToTopLevel | MethodCall |
|
||||
| delegatedProperties.kt:77:37:77:49 | this | delegatedProperties.kt:77:5:77:49 | getDelegatedToTopLevel | ThisAccess |
|
||||
| delegatedProperties.kt:77:37:77:49 | this | delegatedProperties.kt:77:5:77:49 | getDelegatedToTopLevel | ThisAccess |
|
||||
| delegatedProperties.kt:77:37:77:49 | this | delegatedProperties.kt:77:5:77:49 | setDelegatedToTopLevel | ThisAccess |
|
||||
| delegatedProperties.kt:77:37:77:49 | this | delegatedProperties.kt:77:5:77:49 | setDelegatedToTopLevel | ThisAccess |
|
||||
| delegatedProperties.kt:77:37:77:49 | this | delegatedProperties.kt:77:37:77:49 | invoke | ThisAccess |
|
||||
| delegatedProperties.kt:77:37:77:49 | this | delegatedProperties.kt:77:37:77:49 | invoke | ThisAccess |
|
||||
@@ -763,6 +760,7 @@
|
||||
| delegatedProperties.kt:79:21:79:38 | getMax(...) | delegatedProperties.kt:79:21:79:38 | get | MethodCall |
|
||||
| delegatedProperties.kt:79:21:79:38 | getValue(...) | delegatedProperties.kt:79:5:79:38 | getMax | MethodCall |
|
||||
| delegatedProperties.kt:79:21:79:38 | this | delegatedProperties.kt:79:5:79:38 | getMax | ThisAccess |
|
||||
| delegatedProperties.kt:79:21:79:38 | this | delegatedProperties.kt:79:5:79:38 | getMax | ThisAccess |
|
||||
| delegatedProperties.kt:79:21:79:38 | this | delegatedProperties.kt:79:21:79:38 | invoke | ThisAccess |
|
||||
| delegatedProperties.kt:79:21:79:38 | this | delegatedProperties.kt:79:21:79:38 | invoke | ThisAccess |
|
||||
| delegatedProperties.kt:79:21:79:38 | this.max$delegate | delegatedProperties.kt:79:5:79:38 | getMax | VarAccess |
|
||||
@@ -880,6 +878,8 @@
|
||||
| delegatedProperties.kt:87:34:87:46 | setExtDelegated(...) | delegatedProperties.kt:87:34:87:46 | set | MethodCall |
|
||||
| delegatedProperties.kt:87:34:87:46 | setTopLevelInt(...) | delegatedProperties.kt:87:34:87:46 | set | MethodCall |
|
||||
| delegatedProperties.kt:87:34:87:46 | setValue(...) | delegatedProperties.kt:87:1:87:46 | setExtDelegated | MethodCall |
|
||||
| delegatedProperties.kt:87:34:87:46 | this | delegatedProperties.kt:87:1:87:46 | getExtDelegated | ExtensionReceiverAccess |
|
||||
| delegatedProperties.kt:87:34:87:46 | this | delegatedProperties.kt:87:1:87:46 | setExtDelegated | ExtensionReceiverAccess |
|
||||
| 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 |
|
||||
|
||||
@@ -132,9 +132,6 @@
|
||||
| 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 |
|
||||
| delegates.kt:1:9:1:12 | this | ThisAccess |
|
||||
| delegates.kt:1:9:1:12 | this | ThisAccess |
|
||||
| delegates.kt:1:9:1:12 | this | ThisAccess |
|
||||
| delegates.kt:4:5:6:5 | int | TypeAccess |
|
||||
| delegates.kt:4:18:6:5 | ...=... | KtInitializerAssignExpr |
|
||||
| delegates.kt:4:18:6:5 | Integer | TypeAccess |
|
||||
@@ -156,6 +153,7 @@
|
||||
| delegates.kt:4:21:6:5 | lazy(...) | MethodCall |
|
||||
| delegates.kt:4:21:6:5 | this | ThisAccess |
|
||||
| delegates.kt:4:21:6:5 | this | ThisAccess |
|
||||
| delegates.kt:4:21:6:5 | this | ThisAccess |
|
||||
| delegates.kt:4:21:6:5 | this.lazyProp$delegate | VarAccess |
|
||||
| delegates.kt:4:26:6:5 | ...->... | LambdaExpr |
|
||||
| delegates.kt:4:26:6:5 | Function0<Integer> | TypeAccess |
|
||||
@@ -202,6 +200,8 @@
|
||||
| delegates.kt:8:35:11:5 | this | ThisAccess |
|
||||
| delegates.kt:8:35:11:5 | this | ThisAccess |
|
||||
| delegates.kt:8:35:11:5 | this | ThisAccess |
|
||||
| delegates.kt:8:35:11:5 | this | ThisAccess |
|
||||
| delegates.kt:8:35:11:5 | this | ThisAccess |
|
||||
| delegates.kt:8:35:11:5 | this.observableProp$delegate | VarAccess |
|
||||
| delegates.kt:8:35:11:5 | this.observableProp$delegate | VarAccess |
|
||||
| delegates.kt:8:56:8:63 | "<none>" | StringLiteral |
|
||||
|
||||
Reference in New Issue
Block a user