[FIR] During resolve, set correctly property reference type in delegate

This commit is contained in:
Mikhail Glukhikh
2020-03-31 17:11:49 +03:00
parent 58e00400f1
commit 036b6c63f6
42 changed files with 181 additions and 73 deletions
@@ -33,8 +33,8 @@ operator fun CustomDelegate3.setValue(thisRef: Any?, prop: KProperty<*>, value:
class Example {
var a by CustomDelegate()
val aval by CustomDelegate()
var a by <!INAPPLICABLE_CANDIDATE!>CustomDelegate()<!>
val aval by <!INAPPLICABLE_CANDIDATE!>CustomDelegate()<!>
var b by OkDelegate()
var c by CustomDelegate2()
var d by CustomDelegate3()
@@ -28,7 +28,7 @@ abstract class My(@Field arg: Int, @Field val w: Int) {
fun foo() {}
@Field
val v: Int by <!UNRESOLVED_REFERENCE!>Delegates<!>.<!UNRESOLVED_REFERENCE!>lazy<!> { 42 }
val v: Int by <!UNRESOLVED_REFERENCE!><!UNRESOLVED_REFERENCE!>Delegates<!>.<!UNRESOLVED_REFERENCE!>lazy<!> { 42 }<!>
}
enum class Your {
@@ -29,7 +29,7 @@ private fun <T> lazy(init: () -> T): kotlin.Lazy<T> {
}
object DefaultHttpClientWithBy : HttpClient by client {
val client by lazy { HttpClientImpl() }
val client by <!UNRESOLVED_REFERENCE!>lazy { HttpClientImpl() }<!>
}
object DefaultFqHttpClient : HttpClient by DefaultFqHttpClient.client {
@@ -11,7 +11,7 @@ fun test() {
const val <T> a3 = 0
lateinit val <T> a4 = 0
val <T> a5 by Delegate<Int>()
val <T> a6 by Delegate<T>()
val <T> a6 by <!INAPPLICABLE_CANDIDATE!>Delegate<T>()<!>
}
class Delegate<F> {
@@ -11,7 +11,7 @@ fun test() {
const val <T> a3 = 0
lateinit val <T> a4 = 0
val <T> a5 by Delegate<Int>()
val <T> a6 by Delegate<T>()
val <T> a6 by <!INAPPLICABLE_CANDIDATE!>Delegate<T>()<!>
}
class Delegate<F> {
@@ -5,10 +5,10 @@ import kotlin.reflect.KProperty
class A
class D {
val c: Int by IncorrectThis<A>()
val c: Int by <!UNRESOLVED_REFERENCE!>IncorrectThis<A>()<!>
}
val cTopLevel: Int by IncorrectThis<A>()
val cTopLevel: Int by <!UNRESOLVED_REFERENCE!>IncorrectThis<A>()<!>
class IncorrectThis<T> {
fun <R> get(t: Any?, p: KProperty<*>): Int {
@@ -4,10 +4,10 @@ package foo
import kotlin.reflect.KProperty
open class A {
val B.w: Int by MyProperty()
val B.w: Int by <!INAPPLICABLE_CANDIDATE!>MyProperty()<!>
}
val B.r: Int by MyProperty()
val B.r: Int by <!INAPPLICABLE_CANDIDATE!>MyProperty()<!>
val A.e: Int by MyProperty()
@@ -5,7 +5,7 @@ package test
import first.*
import second.*
val a12 by A()
val a12 by <!AMBIGUITY!>A()<!>
// FILE: first.kt
package first
@@ -8,4 +8,4 @@ class ValueWrapper()
fun setValue(v: Int) { backingValue = v }
}
val foo by ValueWrapper()
val foo by <!INAPPLICABLE_CANDIDATE!>ValueWrapper()<!>
@@ -1,3 +1,3 @@
val a: Int by A()
val a: Int by <!UNRESOLVED_REFERENCE!>A()<!>
class A
@@ -5,7 +5,7 @@
import kotlin.reflect.KProperty
class B {
val c by <!INAPPLICABLE_CANDIDATE!>Delegate<!>(<!UNRESOLVED_REFERENCE!>ag<!>)
val c by <!UNRESOLVED_REFERENCE!><!INAPPLICABLE_CANDIDATE!>Delegate<!>(<!UNRESOLVED_REFERENCE!>ag<!>)<!>
}
class Delegate<T: Any>(val init: T) {
@@ -5,5 +5,5 @@ object T1 {
operator fun Long.getValue(receiver: String, p: Any): Double = 1.0
val String.test1 by 1
val test2 by 1
val test2 by <!INAPPLICABLE_CANDIDATE!>1<!>
}
@@ -10,5 +10,5 @@ object T2 {
operator fun <T> Foo<T>.getValue(receiver: String, p: Any?): T = TODO()
val String.test1: String by delegate()
val test2: String by delegate()
val test2: String by <!INAPPLICABLE_CANDIDATE!>delegate()<!>
}
@@ -4,12 +4,12 @@
import kotlin.reflect.KProperty
val a by a
val a by <!UNRESOLVED_REFERENCE!>a<!>
val b by Delegate(b)
val c by d
val d by c
val c by <!UNRESOLVED_REFERENCE!>d<!>
val d by <!UNRESOLVED_REFERENCE!>c<!>
class Delegate(i: Int) {
operator fun getValue(t: Any?, p: KProperty<*>): Int {
@@ -5,7 +5,7 @@ import kotlin.reflect.KProperty
val Int.a by Delegate(this)
class A {
val Int.a by <!INAPPLICABLE_CANDIDATE!>Delegate<!>(this)
val Int.a by <!UNRESOLVED_REFERENCE!><!INAPPLICABLE_CANDIDATE!>Delegate<!>(this)<!>
}
class Delegate(i: Int) {
@@ -4,7 +4,7 @@
import kotlin.reflect.KProperty
class A {
var a: Int by Delegate()
var a: Int by <!INAPPLICABLE_CANDIDATE!>Delegate()<!>
}
var aTopLevel: Int by Delegate()
@@ -4,10 +4,10 @@
import kotlin.reflect.KProperty
class A {
var a: Int by Delegate()
var a: Int by <!INAPPLICABLE_CANDIDATE!>Delegate()<!>
}
var aTopLevel: Int by Delegate()
var aTopLevel: Int by <!INAPPLICABLE_CANDIDATE!>Delegate()<!>
class Delegate {
fun getValue(t: Nothing, p: KProperty<*>): Int {
@@ -3,7 +3,7 @@
import kotlin.reflect.KProperty
class A {
val c: Int by Delegate()
val c: Int by <!INAPPLICABLE_CANDIDATE!>Delegate()<!>
}
class Delegate {
@@ -5,10 +5,10 @@ import kotlin.reflect.KProperty
class A
class B {
val b: Int by Delegate<A>()
val b: Int by <!INAPPLICABLE_CANDIDATE!>Delegate<A>()<!>
}
val bTopLevel: Int by Delegate<A>()
val bTopLevel: Int by <!INAPPLICABLE_CANDIDATE!>Delegate<A>()<!>
class C {
val c: Int by Delegate<C>()
@@ -4,10 +4,10 @@
import kotlin.reflect.KProperty
class B {
val b: Int by Delegate()
val b: Int by <!INAPPLICABLE_CANDIDATE!>Delegate()<!>
}
val bTopLevel: Int by Delegate()
val bTopLevel: Int by <!INAPPLICABLE_CANDIDATE!>Delegate()<!>
class A
@@ -3,10 +3,10 @@
import kotlin.reflect.KProperty
class A {
val a: Int by Delegate()
val a: Int by <!INAPPLICABLE_CANDIDATE!>Delegate()<!>
}
val aTopLevel: Int by Delegate()
val aTopLevel: Int by <!INAPPLICABLE_CANDIDATE!>Delegate()<!>
class Delegate {
fun getValue(t: Any?, p: KProperty<*>, a: Int): Int {
@@ -5,9 +5,9 @@ import kotlin.reflect.KProperty
operator fun Any.getValue(x: Any?, y: Any): Any = null!!
class C {
val x by 1
val x by <!UNRESOLVED_REFERENCE!>1<!>
val `$$delegatedProperties`: Array<KProperty<*>> = null!!
}
val x by 1
val x by <!UNRESOLVED_REFERENCE!>1<!>
val `$$delegatedProperties`: Array<KProperty<*>> = null!!
@@ -40,7 +40,7 @@ fun foo() {
property1 = 1
val
propertyWithBy by <!UNRESOLVED_REFERENCE!>lazy<!> { 1 }
propertyWithBy by <!UNRESOLVED_REFERENCE!><!UNRESOLVED_REFERENCE!>lazy<!> { 1 }<!>
val
propertyWithType: Int
@@ -19,5 +19,5 @@ public class J {
// FILE: k.kt
var A by J.staticNN
var B by J.staticN
var B by <!INAPPLICABLE_CANDIDATE!>J.staticN<!>
var C by J.staticJ
@@ -8,7 +8,7 @@ class Delegate {
fun foo(): Int {
val prop: Int by Delegate()
val prop2: Int by 123
val prop2: Int by <!UNRESOLVED_REFERENCE!>123<!>
val obj = object {
fun v(): Int {
@@ -35,4 +35,4 @@ FILE fqName:<root> fileName:/delegateFieldWithAnnotations.kt
<T>: kotlin.Int
$receiver: GET_FIELD 'FIELD PROPERTY_DELEGATE name:test1$delegate type:kotlin.Lazy<kotlin.Int> visibility:private [final,static]' type=kotlin.Lazy<kotlin.Int> origin=null
thisRef: CONST Null type=kotlin.Nothing? value=null
property: PROPERTY_REFERENCE 'public final test1: kotlin.Int [delegated,val]' field=null getter='public final fun <get-test1> (): kotlin.Int declared in <root>' setter=null type=kotlin.reflect.KProperty<*> origin=PROPERTY_REFERENCE_FOR_DELEGATE
property: PROPERTY_REFERENCE 'public final test1: kotlin.Int [delegated,val]' field=null getter='public final fun <get-test1> (): kotlin.Int declared in <root>' setter=null type=kotlin.reflect.KProperty0<kotlin.Int> origin=PROPERTY_REFERENCE_FOR_DELEGATE
@@ -97,7 +97,7 @@ FILE fqName:<root> fileName:/delegatedPropertyAccessorsWithAnnotations.kt
CALL 'public final fun getValue (thisRef: kotlin.Any?, kProp: kotlin.Any?): kotlin.Int [operator] declared in <root>.Cell' type=kotlin.Int origin=null
$this: GET_FIELD 'FIELD PROPERTY_DELEGATE name:test1$delegate type:<root>.Cell visibility:private [final,static]' type=<root>.Cell origin=null
thisRef: CONST Null type=kotlin.Nothing? value=null
kProp: PROPERTY_REFERENCE 'public final test1: kotlin.Int [delegated,val]' field=null getter='public final fun <get-test1> (): kotlin.Int declared in <root>' setter=null type=kotlin.reflect.KProperty<*> origin=PROPERTY_REFERENCE_FOR_DELEGATE
kProp: PROPERTY_REFERENCE 'public final test1: kotlin.Int [delegated,val]' field=null getter='public final fun <get-test1> (): kotlin.Int declared in <root>' setter=null type=kotlin.reflect.KProperty0<kotlin.Int> origin=PROPERTY_REFERENCE_FOR_DELEGATE
PROPERTY name:test2 visibility:public modality:FINAL [delegated,var]
annotations:
A(x = 'test2.get')
@@ -114,7 +114,7 @@ FILE fqName:<root> fileName:/delegatedPropertyAccessorsWithAnnotations.kt
CALL 'public final fun getValue (thisRef: kotlin.Any?, kProp: kotlin.Any?): kotlin.Int [operator] declared in <root>.Cell' type=kotlin.Int origin=null
$this: GET_FIELD 'FIELD PROPERTY_DELEGATE name:test2$delegate type:<root>.Cell visibility:private [final,static]' type=<root>.Cell origin=null
thisRef: CONST Null type=kotlin.Nothing? value=null
kProp: PROPERTY_REFERENCE 'public final test2: kotlin.Int [delegated,var]' field=null getter='public final fun <get-test2> (): kotlin.Int declared in <root>' setter='public final fun <set-test2> (<set-?>: kotlin.Int): kotlin.Unit declared in <root>' type=kotlin.reflect.KProperty<*> origin=PROPERTY_REFERENCE_FOR_DELEGATE
kProp: PROPERTY_REFERENCE 'public final test2: kotlin.Int [delegated,var]' field=null getter='public final fun <get-test2> (): kotlin.Int declared in <root>' setter='public final fun <set-test2> (<set-?>: kotlin.Int): kotlin.Unit declared in <root>' type=kotlin.reflect.KMutableProperty0<kotlin.Int> origin=PROPERTY_REFERENCE_FOR_DELEGATE
FUN DELEGATED_PROPERTY_ACCESSOR name:<set-test2> visibility:public modality:FINAL <> (<set-?>:kotlin.Int) returnType:kotlin.Unit
correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL [delegated,var]
VALUE_PARAMETER name:<set-?> index:0 type:kotlin.Int
@@ -122,5 +122,5 @@ FILE fqName:<root> fileName:/delegatedPropertyAccessorsWithAnnotations.kt
CALL 'public final fun setValue (thisRef: kotlin.Any?, kProp: kotlin.Any?, newValue: kotlin.Int): kotlin.Unit [operator] declared in <root>.Cell' type=kotlin.Unit origin=null
$this: GET_FIELD 'FIELD PROPERTY_DELEGATE name:test2$delegate type:<root>.Cell visibility:private [final,static]' type=<root>.Cell origin=null
thisRef: CONST Null type=kotlin.Nothing? value=null
kProp: PROPERTY_REFERENCE 'public final test2: kotlin.Int [delegated,var]' field=null getter='public final fun <get-test2> (): kotlin.Int declared in <root>' setter='public final fun <set-test2> (<set-?>: kotlin.Int): kotlin.Unit declared in <root>' type=kotlin.reflect.KProperty<*> origin=PROPERTY_REFERENCE_FOR_DELEGATE
kProp: PROPERTY_REFERENCE 'public final test2: kotlin.Int [delegated,var]' field=null getter='public final fun <get-test2> (): kotlin.Int declared in <root>' setter='public final fun <set-test2> (<set-?>: kotlin.Int): kotlin.Unit declared in <root>' type=kotlin.reflect.KMutableProperty0<kotlin.Int> origin=PROPERTY_REFERENCE_FOR_DELEGATE
newValue: GET_VAR '<set-?>: kotlin.Int declared in <root>.<set-test2>' type=kotlin.Int origin=null
@@ -110,7 +110,7 @@ FILE fqName:<root> fileName:/classLevelProperties.kt
<T>: kotlin.Int
$receiver: GET_FIELD 'FIELD PROPERTY_DELEGATE name:test7$delegate type:kotlin.Lazy<kotlin.Int> visibility:private [final]' type=kotlin.Lazy<kotlin.Int> origin=null
thisRef: GET_VAR '<this>: <root>.C declared in <root>.C' type=<root>.C origin=null
property: PROPERTY_REFERENCE 'public final test7: kotlin.Int [delegated,val]' field=null getter='public final fun <get-test7> (): kotlin.Int declared in <root>.C' setter=null type=kotlin.reflect.KProperty<*> origin=PROPERTY_REFERENCE_FOR_DELEGATE
property: PROPERTY_REFERENCE 'public final test7: kotlin.Int [delegated,val]' field=null getter='public final fun <get-test7> (): kotlin.Int declared in <root>.C' setter=null type=kotlin.reflect.KProperty1<<root>.C, kotlin.Int> origin=PROPERTY_REFERENCE_FOR_DELEGATE
PROPERTY name:test8 visibility:public modality:FINAL [delegated,var]
FIELD PROPERTY_DELEGATE name:test8$delegate type:java.util.HashMap<kotlin.String, kotlin.Int> visibility:private [final]
EXPRESSION_BODY
@@ -124,7 +124,7 @@ FILE fqName:<root> fileName:/classLevelProperties.kt
RETURN type=kotlin.Nothing from='public final fun <get-test8> (): IrErrorType declared in <root>.C'
ERROR_CALL 'Unresolved reference: <Ambiguity: getValue, [kotlin/collections/getValue, kotlin/collections/getValue, kotlin/collections/getValue]>#' type=IrErrorType
GET_VAR '<this>: <root>.C declared in <root>.C' type=<root>.C origin=null
PROPERTY_REFERENCE 'public final test8: IrErrorType [delegated,var]' field=null getter='public final fun <get-test8> (): IrErrorType declared in <root>.C' setter='public final fun <set-test8> (<set-?>: IrErrorType): kotlin.Unit declared in <root>.C' type=kotlin.reflect.KProperty<*> origin=PROPERTY_REFERENCE_FOR_DELEGATE
PROPERTY_REFERENCE 'public final test8: IrErrorType [delegated,var]' field=null getter='public final fun <get-test8> (): IrErrorType declared in <root>.C' setter='public final fun <set-test8> (<set-?>: IrErrorType): kotlin.Unit declared in <root>.C' type=kotlin.reflect.KMutableProperty1<*, *> origin=PROPERTY_REFERENCE_FOR_DELEGATE
FUN DELEGATED_PROPERTY_ACCESSOR name:<set-test8> visibility:public modality:FINAL <> ($this:<root>.C, <set-?>:IrErrorType) returnType:kotlin.Unit
correspondingProperty: PROPERTY name:test8 visibility:public modality:FINAL [delegated,var]
$this: VALUE_PARAMETER name:<this> type:<root>.C
@@ -132,7 +132,7 @@ FILE fqName:<root> fileName:/classLevelProperties.kt
BLOCK_BODY
ERROR_CALL 'Unresolved reference: <Inapplicable(INAPPLICABLE): [kotlin/collections/setValue]>#' type=IrErrorType
GET_VAR '<this>: <root>.C declared in <root>.C' type=<root>.C origin=null
PROPERTY_REFERENCE 'public final test8: IrErrorType [delegated,var]' field=null getter='public final fun <get-test8> (): IrErrorType declared in <root>.C' setter='public final fun <set-test8> (<set-?>: IrErrorType): kotlin.Unit declared in <root>.C' type=kotlin.reflect.KProperty<*> origin=PROPERTY_REFERENCE_FOR_DELEGATE
PROPERTY_REFERENCE 'public final test8: IrErrorType [delegated,var]' field=null getter='public final fun <get-test8> (): IrErrorType declared in <root>.C' setter='public final fun <set-test8> (<set-?>: IrErrorType): kotlin.Unit declared in <root>.C' type=kotlin.reflect.KMutableProperty1<*, *> origin=PROPERTY_REFERENCE_FOR_DELEGATE
GET_VAR '<set-?>: IrErrorType declared in <root>.C.<set-test8>' type=IrErrorType origin=null
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
@@ -17,7 +17,7 @@ FILE fqName:<root> fileName:/delegatedProperties.kt
<T>: kotlin.Int
$receiver: GET_FIELD 'FIELD PROPERTY_DELEGATE name:test1$delegate type:kotlin.Lazy<kotlin.Int> visibility:private [final,static]' type=kotlin.Lazy<kotlin.Int> origin=null
thisRef: CONST Null type=kotlin.Nothing? value=null
property: PROPERTY_REFERENCE 'public final test1: kotlin.Int [delegated,val]' field=null getter='public final fun <get-test1> (): kotlin.Int declared in <root>' setter=null type=kotlin.reflect.KProperty<*> origin=PROPERTY_REFERENCE_FOR_DELEGATE
property: PROPERTY_REFERENCE 'public final test1: kotlin.Int [delegated,val]' field=null getter='public final fun <get-test1> (): kotlin.Int declared in <root>' setter=null type=kotlin.reflect.KProperty0<kotlin.Int> origin=PROPERTY_REFERENCE_FOR_DELEGATE
CLASS CLASS name:C modality:FINAL visibility:public superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.C
CONSTRUCTOR visibility:public <> (map:kotlin.collections.MutableMap<kotlin.String, kotlin.Any>) returnType:<root>.C [primary]
@@ -55,7 +55,7 @@ FILE fqName:<root> fileName:/delegatedProperties.kt
<T>: kotlin.Int
$receiver: GET_FIELD 'FIELD PROPERTY_DELEGATE name:test2$delegate type:kotlin.Lazy<kotlin.Int> visibility:private [final]' type=kotlin.Lazy<kotlin.Int> origin=null
thisRef: GET_VAR '<this>: <root>.C declared in <root>.C' type=<root>.C origin=null
property: PROPERTY_REFERENCE 'public final test2: kotlin.Int [delegated,val]' field=null getter='public final fun <get-test2> (): kotlin.Int declared in <root>.C' setter=null type=kotlin.reflect.KProperty<*> origin=PROPERTY_REFERENCE_FOR_DELEGATE
property: PROPERTY_REFERENCE 'public final test2: kotlin.Int [delegated,val]' field=null getter='public final fun <get-test2> (): kotlin.Int declared in <root>.C' setter=null type=kotlin.reflect.KProperty1<<root>.C, kotlin.Int> origin=PROPERTY_REFERENCE_FOR_DELEGATE
PROPERTY name:test3 visibility:public modality:FINAL [delegated,var]
FIELD PROPERTY_DELEGATE name:test3$delegate type:kotlin.collections.MutableMap<kotlin.String, kotlin.Any> visibility:private [final]
EXPRESSION_BODY
@@ -67,7 +67,7 @@ FILE fqName:<root> fileName:/delegatedProperties.kt
RETURN type=kotlin.Nothing from='public final fun <get-test3> (): IrErrorType declared in <root>.C'
ERROR_CALL 'Unresolved reference: <Ambiguity: getValue, [kotlin/collections/getValue, kotlin/collections/getValue, kotlin/collections/getValue]>#' type=IrErrorType
GET_VAR '<this>: <root>.C declared in <root>.C' type=<root>.C origin=null
PROPERTY_REFERENCE 'public final test3: IrErrorType [delegated,var]' field=null getter='public final fun <get-test3> (): IrErrorType declared in <root>.C' setter='public final fun <set-test3> (<set-?>: IrErrorType): kotlin.Unit declared in <root>.C' type=kotlin.reflect.KProperty<*> origin=PROPERTY_REFERENCE_FOR_DELEGATE
PROPERTY_REFERENCE 'public final test3: IrErrorType [delegated,var]' field=null getter='public final fun <get-test3> (): IrErrorType declared in <root>.C' setter='public final fun <set-test3> (<set-?>: IrErrorType): kotlin.Unit declared in <root>.C' type=kotlin.reflect.KMutableProperty1<*, *> origin=PROPERTY_REFERENCE_FOR_DELEGATE
FUN DELEGATED_PROPERTY_ACCESSOR name:<set-test3> visibility:public modality:FINAL <> ($this:<root>.C, <set-?>:IrErrorType) returnType:kotlin.Unit
correspondingProperty: PROPERTY name:test3 visibility:public modality:FINAL [delegated,var]
$this: VALUE_PARAMETER name:<this> type:<root>.C
@@ -75,7 +75,7 @@ FILE fqName:<root> fileName:/delegatedProperties.kt
BLOCK_BODY
ERROR_CALL 'Unresolved reference: <Inapplicable(INAPPLICABLE): [kotlin/collections/setValue]>#' type=IrErrorType
GET_VAR '<this>: <root>.C declared in <root>.C' type=<root>.C origin=null
PROPERTY_REFERENCE 'public final test3: IrErrorType [delegated,var]' field=null getter='public final fun <get-test3> (): IrErrorType declared in <root>.C' setter='public final fun <set-test3> (<set-?>: IrErrorType): kotlin.Unit declared in <root>.C' type=kotlin.reflect.KProperty<*> origin=PROPERTY_REFERENCE_FOR_DELEGATE
PROPERTY_REFERENCE 'public final test3: IrErrorType [delegated,var]' field=null getter='public final fun <get-test3> (): IrErrorType declared in <root>.C' setter='public final fun <set-test3> (<set-?>: IrErrorType): kotlin.Unit declared in <root>.C' type=kotlin.reflect.KMutableProperty1<*, *> origin=PROPERTY_REFERENCE_FOR_DELEGATE
GET_VAR '<set-?>: IrErrorType declared in <root>.C.<set-test3>' type=IrErrorType origin=null
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
@@ -102,12 +102,12 @@ FILE fqName:<root> fileName:/delegatedProperties.kt
RETURN type=kotlin.Nothing from='public final fun <get-test4> (): IrErrorType declared in <root>'
ERROR_CALL 'Unresolved reference: <Ambiguity: getValue, [kotlin/collections/getValue, kotlin/collections/getValue, kotlin/collections/getValue]>#' type=IrErrorType
CONST Null type=kotlin.Nothing? value=null
PROPERTY_REFERENCE 'public final test4: IrErrorType [delegated,var]' field=null getter='public final fun <get-test4> (): IrErrorType declared in <root>' setter='public final fun <set-test4> (<set-?>: IrErrorType): kotlin.Unit declared in <root>' type=kotlin.reflect.KProperty<*> origin=PROPERTY_REFERENCE_FOR_DELEGATE
PROPERTY_REFERENCE 'public final test4: IrErrorType [delegated,var]' field=null getter='public final fun <get-test4> (): IrErrorType declared in <root>' setter='public final fun <set-test4> (<set-?>: IrErrorType): kotlin.Unit declared in <root>' type=kotlin.reflect.KMutableProperty0<*> origin=PROPERTY_REFERENCE_FOR_DELEGATE
FUN DELEGATED_PROPERTY_ACCESSOR name:<set-test4> visibility:public modality:FINAL <> (<set-?>:IrErrorType) returnType:kotlin.Unit
correspondingProperty: PROPERTY name:test4 visibility:public modality:FINAL [delegated,var]
VALUE_PARAMETER name:<set-?> index:0 type:IrErrorType
BLOCK_BODY
ERROR_CALL 'Unresolved reference: <Inapplicable(INAPPLICABLE): [kotlin/collections/setValue]>#' type=IrErrorType
CONST Null type=kotlin.Nothing? value=null
PROPERTY_REFERENCE 'public final test4: IrErrorType [delegated,var]' field=null getter='public final fun <get-test4> (): IrErrorType declared in <root>' setter='public final fun <set-test4> (<set-?>: IrErrorType): kotlin.Unit declared in <root>' type=kotlin.reflect.KProperty<*> origin=PROPERTY_REFERENCE_FOR_DELEGATE
PROPERTY_REFERENCE 'public final test4: IrErrorType [delegated,var]' field=null getter='public final fun <get-test4> (): IrErrorType declared in <root>' setter='public final fun <set-test4> (<set-?>: IrErrorType): kotlin.Unit declared in <root>' type=kotlin.reflect.KMutableProperty0<*> origin=PROPERTY_REFERENCE_FOR_DELEGATE
GET_VAR '<set-?>: IrErrorType declared in <root>.<set-test4>' type=IrErrorType origin=null
@@ -86,7 +86,7 @@ FILE fqName:<root> fileName:/packageLevelProperties.kt
<T>: kotlin.Int
$receiver: GET_FIELD 'FIELD PROPERTY_DELEGATE name:test7$delegate type:kotlin.Lazy<kotlin.Int> visibility:private [final,static]' type=kotlin.Lazy<kotlin.Int> origin=null
thisRef: CONST Null type=kotlin.Nothing? value=null
property: PROPERTY_REFERENCE 'public final test7: kotlin.Int [delegated,val]' field=null getter='public final fun <get-test7> (): kotlin.Int declared in <root>' setter=null type=kotlin.reflect.KProperty<*> origin=PROPERTY_REFERENCE_FOR_DELEGATE
property: PROPERTY_REFERENCE 'public final test7: kotlin.Int [delegated,val]' field=null getter='public final fun <get-test7> (): kotlin.Int declared in <root>' setter=null type=kotlin.reflect.KProperty0<kotlin.Int> origin=PROPERTY_REFERENCE_FOR_DELEGATE
PROPERTY name:test8 visibility:public modality:FINAL [delegated,var]
FIELD PROPERTY_DELEGATE name:test8$delegate type:java.util.HashMap<kotlin.String, kotlin.Int> visibility:private [final,static]
EXPRESSION_BODY
@@ -99,12 +99,12 @@ FILE fqName:<root> fileName:/packageLevelProperties.kt
RETURN type=kotlin.Nothing from='public final fun <get-test8> (): IrErrorType declared in <root>'
ERROR_CALL 'Unresolved reference: <Ambiguity: getValue, [kotlin/collections/getValue, kotlin/collections/getValue, kotlin/collections/getValue]>#' type=IrErrorType
CONST Null type=kotlin.Nothing? value=null
PROPERTY_REFERENCE 'public final test8: IrErrorType [delegated,var]' field=null getter='public final fun <get-test8> (): IrErrorType declared in <root>' setter='public final fun <set-test8> (<set-?>: IrErrorType): kotlin.Unit declared in <root>' type=kotlin.reflect.KProperty<*> origin=PROPERTY_REFERENCE_FOR_DELEGATE
PROPERTY_REFERENCE 'public final test8: IrErrorType [delegated,var]' field=null getter='public final fun <get-test8> (): IrErrorType declared in <root>' setter='public final fun <set-test8> (<set-?>: IrErrorType): kotlin.Unit declared in <root>' type=kotlin.reflect.KMutableProperty0<*> origin=PROPERTY_REFERENCE_FOR_DELEGATE
FUN DELEGATED_PROPERTY_ACCESSOR name:<set-test8> visibility:public modality:FINAL <> (<set-?>:IrErrorType) returnType:kotlin.Unit
correspondingProperty: PROPERTY name:test8 visibility:public modality:FINAL [delegated,var]
VALUE_PARAMETER name:<set-?> index:0 type:IrErrorType
BLOCK_BODY
ERROR_CALL 'Unresolved reference: <Inapplicable(INAPPLICABLE): [kotlin/collections/setValue]>#' type=IrErrorType
CONST Null type=kotlin.Nothing? value=null
PROPERTY_REFERENCE 'public final test8: IrErrorType [delegated,var]' field=null getter='public final fun <get-test8> (): IrErrorType declared in <root>' setter='public final fun <set-test8> (<set-?>: IrErrorType): kotlin.Unit declared in <root>' type=kotlin.reflect.KProperty<*> origin=PROPERTY_REFERENCE_FOR_DELEGATE
PROPERTY_REFERENCE 'public final test8: IrErrorType [delegated,var]' field=null getter='public final fun <get-test8> (): IrErrorType declared in <root>' setter='public final fun <set-test8> (<set-?>: IrErrorType): kotlin.Unit declared in <root>' type=kotlin.reflect.KMutableProperty0<*> origin=PROPERTY_REFERENCE_FOR_DELEGATE
GET_VAR '<set-?>: IrErrorType declared in <root>.<set-test8>' type=IrErrorType origin=null
@@ -52,7 +52,7 @@ FILE fqName:<root> fileName:/differentReceivers.kt
$receiver: CONSTRUCTOR_CALL 'public constructor <init> (value: kotlin.String) [primary] declared in <root>.MyClass' type=<root>.MyClass origin=null
value: CONST String type=kotlin.String value="O"
host: CONST Null type=kotlin.Nothing? value=null
p: PROPERTY_REFERENCE 'public final testO: kotlin.String [delegated,val]' field=null getter='public final fun <get-testO> (): kotlin.String declared in <root>' setter=null type=kotlin.reflect.KProperty<*> origin=PROPERTY_REFERENCE_FOR_DELEGATE
p: PROPERTY_REFERENCE 'public final testO: kotlin.String [delegated,val]' field=null getter='public final fun <get-testO> (): kotlin.String declared in <root>' setter=null type=kotlin.reflect.KProperty0<*> origin=PROPERTY_REFERENCE_FOR_DELEGATE
FUN DELEGATED_PROPERTY_ACCESSOR name:<get-testO> visibility:public modality:FINAL <> () returnType:kotlin.String
correspondingProperty: PROPERTY name:testO visibility:public modality:FINAL [delegated,val]
BLOCK_BODY
@@ -60,7 +60,7 @@ FILE fqName:<root> fileName:/differentReceivers.kt
CALL 'public final fun getValue (receiver: kotlin.Any?, p: kotlin.Any): kotlin.String [operator] declared in <root>' type=kotlin.String origin=null
$receiver: GET_FIELD 'FIELD PROPERTY_DELEGATE name:testO$delegate type:kotlin.String visibility:private [final,static]' type=kotlin.String origin=null
receiver: CONST Null type=kotlin.Nothing? value=null
p: PROPERTY_REFERENCE 'public final testO: kotlin.String [delegated,val]' field=null getter='public final fun <get-testO> (): kotlin.String declared in <root>' setter=null type=kotlin.reflect.KProperty<*> origin=PROPERTY_REFERENCE_FOR_DELEGATE
p: PROPERTY_REFERENCE 'public final testO: kotlin.String [delegated,val]' field=null getter='public final fun <get-testO> (): kotlin.String declared in <root>' setter=null type=kotlin.reflect.KProperty0<kotlin.String> origin=PROPERTY_REFERENCE_FOR_DELEGATE
PROPERTY name:testK visibility:public modality:FINAL [delegated,val]
FIELD PROPERTY_DELEGATE name:testK$delegate type:kotlin.String visibility:private [final,static]
EXPRESSION_BODY
@@ -72,7 +72,7 @@ FILE fqName:<root> fileName:/differentReceivers.kt
CALL 'public final fun getValue (receiver: kotlin.Any?, p: kotlin.Any): kotlin.String [operator] declared in <root>' type=kotlin.String origin=null
$receiver: GET_FIELD 'FIELD PROPERTY_DELEGATE name:testK$delegate type:kotlin.String visibility:private [final,static]' type=kotlin.String origin=null
receiver: CONST Null type=kotlin.Nothing? value=null
p: PROPERTY_REFERENCE 'public final testK: kotlin.String [delegated,val]' field=null getter='public final fun <get-testK> (): kotlin.String declared in <root>' setter=null type=kotlin.reflect.KProperty<*> origin=PROPERTY_REFERENCE_FOR_DELEGATE
p: PROPERTY_REFERENCE 'public final testK: kotlin.String [delegated,val]' field=null getter='public final fun <get-testK> (): kotlin.String declared in <root>' setter=null type=kotlin.reflect.KProperty0<kotlin.String> origin=PROPERTY_REFERENCE_FOR_DELEGATE
PROPERTY name:testOK visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:testOK type:kotlin.String visibility:private [final,static]
EXPRESSION_BODY
@@ -91,7 +91,7 @@ FILE fqName:<root> fileName:/member.kt
$this: CONSTRUCTOR_CALL 'public constructor <init> (value: kotlin.String) [primary] declared in <root>.DelegateProvider' type=<root>.DelegateProvider origin=null
value: CONST String type=kotlin.String value="OK"
thisRef: GET_VAR '<this>: <root>.Host declared in <root>.Host' type=<root>.Host origin=null
property: PROPERTY_REFERENCE 'public final testMember: kotlin.String [delegated,val]' field=null getter='public final fun <get-testMember> (): kotlin.String declared in <root>.Host' setter=null type=kotlin.reflect.KProperty<*> origin=PROPERTY_REFERENCE_FOR_DELEGATE
property: PROPERTY_REFERENCE 'public final testMember: kotlin.String [delegated,val]' field=null getter='public final fun <get-testMember> (): kotlin.String declared in <root>.Host' setter=null type=kotlin.reflect.KProperty1<*, *> origin=PROPERTY_REFERENCE_FOR_DELEGATE
FUN DELEGATED_PROPERTY_ACCESSOR name:<get-testMember> visibility:public modality:FINAL <> ($this:<root>.Host) returnType:kotlin.String
correspondingProperty: PROPERTY name:testMember visibility:public modality:FINAL [delegated,val]
$this: VALUE_PARAMETER name:<this> type:<root>.Host
@@ -100,7 +100,7 @@ FILE fqName:<root> fileName:/member.kt
CALL 'public final fun getValue (thisRef: kotlin.Any?, property: kotlin.Any?): kotlin.String [operator] declared in <root>.Delegate' type=kotlin.String origin=null
$this: GET_FIELD 'FIELD PROPERTY_DELEGATE name:testMember$delegate type:<root>.Delegate visibility:private [final]' type=<root>.Delegate origin=null
thisRef: GET_VAR '<this>: <root>.Host declared in <root>.Host' type=<root>.Host origin=null
property: PROPERTY_REFERENCE 'public final testMember: kotlin.String [delegated,val]' field=null getter='public final fun <get-testMember> (): kotlin.String declared in <root>.Host' setter=null type=kotlin.reflect.KProperty<*> origin=PROPERTY_REFERENCE_FOR_DELEGATE
property: PROPERTY_REFERENCE 'public final testMember: kotlin.String [delegated,val]' field=null getter='public final fun <get-testMember> (): kotlin.String declared in <root>.Host' setter=null type=kotlin.reflect.KProperty1<<root>.Host, kotlin.String> origin=PROPERTY_REFERENCE_FOR_DELEGATE
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any
@@ -62,7 +62,7 @@ FILE fqName:<root> fileName:/memberExtension.kt
$this: GET_VAR '<this>: <root>.Host declared in <root>.Host' type=<root>.Host origin=null
$receiver: CONST String type=kotlin.String value="K"
host: GET_VAR '<this>: <root>.Host declared in <root>.Host' type=<root>.Host origin=null
p: PROPERTY_REFERENCE 'public final plusK: kotlin.String [delegated,val]' field=null getter='public final fun <get-plusK> (): kotlin.String declared in <root>.Host' setter=null type=kotlin.reflect.KProperty<*> origin=PROPERTY_REFERENCE_FOR_DELEGATE
p: PROPERTY_REFERENCE 'public final plusK: kotlin.String [delegated,val]' field=null getter='public final fun <get-plusK> (): kotlin.String declared in <root>.Host' setter=null type=kotlin.reflect.KProperty2<*, *, *> origin=PROPERTY_REFERENCE_FOR_DELEGATE
$this: GET_OBJECT 'CLASS OBJECT name:Host modality:FINAL visibility:public superTypes:[kotlin.Any]' type=<root>.Host
$receiver: GET_OBJECT 'CLASS OBJECT name:Host modality:FINAL visibility:public superTypes:[kotlin.Any]' type=<root>.Host
FUN DELEGATED_PROPERTY_ACCESSOR name:<get-plusK> visibility:public modality:FINAL <> ($this:<root>.Host, $receiver:kotlin.String) returnType:kotlin.String
@@ -75,7 +75,7 @@ FILE fqName:<root> fileName:/memberExtension.kt
$this: GET_FIELD 'FIELD PROPERTY_DELEGATE name:plusK$delegate type:<root>.Host.StringDelegate visibility:private [final]' type=<root>.Host.StringDelegate origin=null
receiver: GET_OBJECT 'CLASS OBJECT name:Host modality:FINAL visibility:public superTypes:[kotlin.Any]' type=<root>.Host
receiver: ERROR_CALL 'Unresolved reference: this@R|/Host.plusK|' type=kotlin.String
p: PROPERTY_REFERENCE 'public final plusK: kotlin.String [delegated,val]' field=null getter='public final fun <get-plusK> (): kotlin.String declared in <root>.Host' setter=null type=kotlin.reflect.KProperty<*> origin=PROPERTY_REFERENCE_FOR_DELEGATE
p: PROPERTY_REFERENCE 'public final plusK: kotlin.String [delegated,val]' field=null getter='public final fun <get-plusK> (): kotlin.String declared in <root>.Host' setter=null type=kotlin.reflect.KProperty2<<root>.Host, kotlin.String, kotlin.String> origin=PROPERTY_REFERENCE_FOR_DELEGATE
$this: GET_OBJECT 'CLASS OBJECT name:Host modality:FINAL visibility:public superTypes:[kotlin.Any]' type=<root>.Host
$receiver: GET_OBJECT 'CLASS OBJECT name:Host modality:FINAL visibility:public superTypes:[kotlin.Any]' type=<root>.Host
PROPERTY name:ok visibility:public modality:FINAL [val]
@@ -85,7 +85,7 @@ FILE fqName:<root> fileName:/topLevel.kt
$this: CONSTRUCTOR_CALL 'public constructor <init> (value: kotlin.String) [primary] declared in <root>.DelegateProvider' type=<root>.DelegateProvider origin=null
value: CONST String type=kotlin.String value="OK"
thisRef: CONST Null type=kotlin.Nothing? value=null
property: PROPERTY_REFERENCE 'public final testTopLevel: kotlin.String [delegated,val]' field=null getter='public final fun <get-testTopLevel> (): kotlin.String declared in <root>' setter=null type=kotlin.reflect.KProperty<*> origin=PROPERTY_REFERENCE_FOR_DELEGATE
property: PROPERTY_REFERENCE 'public final testTopLevel: kotlin.String [delegated,val]' field=null getter='public final fun <get-testTopLevel> (): kotlin.String declared in <root>' setter=null type=kotlin.reflect.KProperty0<*> origin=PROPERTY_REFERENCE_FOR_DELEGATE
FUN DELEGATED_PROPERTY_ACCESSOR name:<get-testTopLevel> visibility:public modality:FINAL <> () returnType:kotlin.String
correspondingProperty: PROPERTY name:testTopLevel visibility:public modality:FINAL [delegated,val]
BLOCK_BODY
@@ -93,4 +93,4 @@ FILE fqName:<root> fileName:/topLevel.kt
CALL 'public final fun getValue (thisRef: kotlin.Any?, property: kotlin.Any?): kotlin.String [operator] declared in <root>.Delegate' type=kotlin.String origin=null
$this: GET_FIELD 'FIELD PROPERTY_DELEGATE name:testTopLevel$delegate type:<root>.Delegate visibility:private [final,static]' type=<root>.Delegate origin=null
thisRef: CONST Null type=kotlin.Nothing? value=null
property: PROPERTY_REFERENCE 'public final testTopLevel: kotlin.String [delegated,val]' field=null getter='public final fun <get-testTopLevel> (): kotlin.String declared in <root>' setter=null type=kotlin.reflect.KProperty<*> origin=PROPERTY_REFERENCE_FOR_DELEGATE
property: PROPERTY_REFERENCE 'public final testTopLevel: kotlin.String [delegated,val]' field=null getter='public final fun <get-testTopLevel> (): kotlin.String declared in <root>' setter=null type=kotlin.reflect.KProperty0<kotlin.String> origin=PROPERTY_REFERENCE_FOR_DELEGATE
@@ -78,7 +78,7 @@ FILE fqName:<root> fileName:/genericPropertyRef.kt
CALL 'public final fun getValue (t: kotlin.Any?, p: kotlin.Any): kotlin.Int [operator] declared in <root>.DVal' type=kotlin.Int origin=null
$this: GET_FIELD 'FIELD PROPERTY_DELEGATE name:additionalText$delegate type:<root>.DVal visibility:private [final,static]' type=<root>.DVal origin=null
t: ERROR_CALL 'Unresolved reference: this@R|/additionalText|' type=<root>.Value<T of <root>.<get-additionalText>>
p: PROPERTY_REFERENCE 'public final additionalText: kotlin.Int [delegated,val]' field=null getter='public final fun <get-additionalText> <T> (): kotlin.Int declared in <root>' setter=null type=kotlin.reflect.KProperty<*> origin=PROPERTY_REFERENCE_FOR_DELEGATE
p: PROPERTY_REFERENCE 'public final additionalText: kotlin.Int [delegated,val]' field=null getter='public final fun <get-additionalText> <T> (): kotlin.Int declared in <root>' setter=null type=kotlin.reflect.KProperty1<<root>.Value<T of <root>.<get-additionalText>>, kotlin.Int> origin=PROPERTY_REFERENCE_FOR_DELEGATE
<1>: <none>
PROPERTY name:additionalValue visibility:public modality:FINAL [delegated,val]
FIELD PROPERTY_DELEGATE name:additionalValue$delegate type:<root>.DVal visibility:private [final,static]
@@ -94,7 +94,7 @@ FILE fqName:<root> fileName:/genericPropertyRef.kt
CALL 'public final fun getValue (t: kotlin.Any?, p: kotlin.Any): kotlin.Int [operator] declared in <root>.DVal' type=kotlin.Int origin=null
$this: GET_FIELD 'FIELD PROPERTY_DELEGATE name:additionalValue$delegate type:<root>.DVal visibility:private [final,static]' type=<root>.DVal origin=null
t: ERROR_CALL 'Unresolved reference: this@R|/additionalValue|' type=<root>.Value<T of <root>.<get-additionalValue>>
p: PROPERTY_REFERENCE 'public final additionalValue: kotlin.Int [delegated,val]' field=null getter='public final fun <get-additionalValue> <T> (): kotlin.Int declared in <root>' setter=null type=kotlin.reflect.KProperty<*> origin=PROPERTY_REFERENCE_FOR_DELEGATE
p: PROPERTY_REFERENCE 'public final additionalValue: kotlin.Int [delegated,val]' field=null getter='public final fun <get-additionalValue> <T> (): kotlin.Int declared in <root>' setter=null type=kotlin.reflect.KProperty1<<root>.Value<T of <root>.<get-additionalValue>>, kotlin.Int> origin=PROPERTY_REFERENCE_FOR_DELEGATE
<1>: <none>
CLASS CLASS name:DVal modality:FINAL visibility:public superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.DVal
@@ -199,7 +199,7 @@ FILE fqName:<root> fileName:/propertyReferences.kt
CALL 'public final fun getValue (thisRef: kotlin.Any?, kProp: kotlin.Any): kotlin.Int [operator] declared in <root>.Delegate' type=kotlin.Int origin=null
$this: GET_FIELD 'FIELD PROPERTY_DELEGATE name:delegatedVal$delegate type:<root>.Delegate visibility:private [final,static]' type=<root>.Delegate origin=null
thisRef: CONST Null type=kotlin.Nothing? value=null
kProp: PROPERTY_REFERENCE 'public final delegatedVal: kotlin.Int [delegated,val]' field=null getter='public final fun <get-delegatedVal> (): kotlin.Int declared in <root>' setter=null type=kotlin.reflect.KProperty<*> origin=PROPERTY_REFERENCE_FOR_DELEGATE
kProp: PROPERTY_REFERENCE 'public final delegatedVal: kotlin.Int [delegated,val]' field=null getter='public final fun <get-delegatedVal> (): kotlin.Int declared in <root>' setter=null type=kotlin.reflect.KProperty0<kotlin.Int> origin=PROPERTY_REFERENCE_FOR_DELEGATE
PROPERTY name:test_delegatedVal visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:test_delegatedVal type:kotlin.reflect.KProperty0<kotlin.Int> visibility:private [final,static]
EXPRESSION_BODY
@@ -220,7 +220,7 @@ FILE fqName:<root> fileName:/propertyReferences.kt
CALL 'public final fun getValue (thisRef: kotlin.Any?, kProp: kotlin.Any): kotlin.Int [operator] declared in <root>.Delegate' type=kotlin.Int origin=null
$this: GET_FIELD 'FIELD PROPERTY_DELEGATE name:delegatedVar$delegate type:<root>.Delegate visibility:private [final,static]' type=<root>.Delegate origin=null
thisRef: CONST Null type=kotlin.Nothing? value=null
kProp: PROPERTY_REFERENCE 'public final delegatedVar: kotlin.Int [delegated,var]' field=null getter='public final fun <get-delegatedVar> (): kotlin.Int declared in <root>' setter='public final fun <set-delegatedVar> (<set-?>: kotlin.Int): kotlin.Unit declared in <root>' type=kotlin.reflect.KProperty<*> origin=PROPERTY_REFERENCE_FOR_DELEGATE
kProp: PROPERTY_REFERENCE 'public final delegatedVar: kotlin.Int [delegated,var]' field=null getter='public final fun <get-delegatedVar> (): kotlin.Int declared in <root>' setter='public final fun <set-delegatedVar> (<set-?>: kotlin.Int): kotlin.Unit declared in <root>' type=kotlin.reflect.KMutableProperty0<kotlin.Int> origin=PROPERTY_REFERENCE_FOR_DELEGATE
FUN DELEGATED_PROPERTY_ACCESSOR name:<set-delegatedVar> visibility:public modality:FINAL <> (<set-?>:kotlin.Int) returnType:kotlin.Unit
correspondingProperty: PROPERTY name:delegatedVar visibility:public modality:FINAL [delegated,var]
VALUE_PARAMETER name:<set-?> index:0 type:kotlin.Int
@@ -228,7 +228,7 @@ FILE fqName:<root> fileName:/propertyReferences.kt
CALL 'public final fun setValue (thisRef: kotlin.Any?, kProp: kotlin.Any, value: kotlin.Int): kotlin.Unit [operator] declared in <root>.Delegate' type=kotlin.Unit origin=null
$this: GET_FIELD 'FIELD PROPERTY_DELEGATE name:delegatedVar$delegate type:<root>.Delegate visibility:private [final,static]' type=<root>.Delegate origin=null
thisRef: CONST Null type=kotlin.Nothing? value=null
kProp: PROPERTY_REFERENCE 'public final delegatedVar: kotlin.Int [delegated,var]' field=null getter='public final fun <get-delegatedVar> (): kotlin.Int declared in <root>' setter='public final fun <set-delegatedVar> (<set-?>: kotlin.Int): kotlin.Unit declared in <root>' type=kotlin.reflect.KProperty<*> origin=PROPERTY_REFERENCE_FOR_DELEGATE
kProp: PROPERTY_REFERENCE 'public final delegatedVar: kotlin.Int [delegated,var]' field=null getter='public final fun <get-delegatedVar> (): kotlin.Int declared in <root>' setter='public final fun <set-delegatedVar> (<set-?>: kotlin.Int): kotlin.Unit declared in <root>' type=kotlin.reflect.KMutableProperty0<kotlin.Int> origin=PROPERTY_REFERENCE_FOR_DELEGATE
value: GET_VAR '<set-?>: kotlin.Int declared in <root>.<set-delegatedVar>' type=kotlin.Int origin=null
PROPERTY name:test_delegatedVar visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:test_delegatedVar type:kotlin.reflect.KMutableProperty0<kotlin.Int> visibility:private [final,static]
@@ -263,7 +263,7 @@ FILE fqName:<root> fileName:/genericDelegatedDeepProperty.kt
CALL 'public final fun getValue (t: <root>.Value<T of <root>.<get-additionalText>, <root>.CR<T of <root>.<get-additionalText>>>, p: kotlin.reflect.KProperty<*>): T of <root>.<get-additionalText> declared in <root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided>' type=T of <root>.<get-additionalText> origin=null
$this: GET_FIELD 'FIELD PROPERTY_DELEGATE name:deepO$delegate type:<root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided> visibility:private [final]' type=<root>.additionalText$delegate.<no name provided>.deepO$delegate.<no name provided> origin=null
t: ERROR_CALL 'Unresolved reference: this@R|/anonymous.deepO|' type=<root>.Value<T of <root>.<get-additionalText>, <root>.CR<T of <root>.<get-additionalText>>>
p: PROPERTY_REFERENCE 'private final deepO: T of <root>.<get-additionalText> [delegated,val]' field=null getter='public final fun <get-deepO> (): T of <root>.<get-additionalText> declared in <root>.additionalText$delegate.<no name provided>' setter=null type=kotlin.reflect.KProperty<*> origin=PROPERTY_REFERENCE_FOR_DELEGATE
p: PROPERTY_REFERENCE 'private final deepO: T of <root>.<get-additionalText> [delegated,val]' field=null getter='public final fun <get-deepO> (): T of <root>.<get-additionalText> declared in <root>.additionalText$delegate.<no name provided>' setter=null type=kotlin.reflect.KProperty2<<root>.Value<T of <root>.<get-additionalText>, <root>.CR<T of <root>.<get-additionalText>>>, <root>.Value<T of <root>.<get-additionalText>, <root>.CR<T of <root>.<get-additionalText>>>, T of <root>.<get-additionalText>> origin=PROPERTY_REFERENCE_FOR_DELEGATE
PROPERTY name:deepK visibility:private modality:FINAL [delegated,val]
FIELD PROPERTY_DELEGATE name:deepK$delegate type:<root>.additionalText$delegate.<no name provided>.deepK$delegate.<no name provided> visibility:private [final]
EXPRESSION_BODY
@@ -293,7 +293,7 @@ FILE fqName:<root> fileName:/genericDelegatedDeepProperty.kt
CALL 'public final fun getValue (t: <root>.Value<T of <root>.<get-additionalText>, <root>.CR<T of <root>.<get-additionalText>>>, p: kotlin.reflect.KProperty<*>): T of <root>.<get-additionalText> declared in <root>.additionalText$delegate.<no name provided>.deepK$delegate.<no name provided>' type=T of <root>.<get-additionalText> origin=null
$this: GET_FIELD 'FIELD PROPERTY_DELEGATE name:deepK$delegate type:<root>.additionalText$delegate.<no name provided>.deepK$delegate.<no name provided> visibility:private [final]' type=<root>.additionalText$delegate.<no name provided>.deepK$delegate.<no name provided> origin=null
t: ERROR_CALL 'Unresolved reference: this@R|/anonymous.deepK|' type=<root>.Value<T of <root>.<get-additionalText>, <root>.CR<T of <root>.<get-additionalText>>>
p: PROPERTY_REFERENCE 'private final deepK: T of <root>.<get-additionalText> [delegated,val]' field=null getter='public final fun <get-deepK> (): T of <root>.<get-additionalText> declared in <root>.additionalText$delegate.<no name provided>' setter=null type=kotlin.reflect.KProperty<*> origin=PROPERTY_REFERENCE_FOR_DELEGATE
p: PROPERTY_REFERENCE 'private final deepK: T of <root>.<get-additionalText> [delegated,val]' field=null getter='public final fun <get-deepK> (): T of <root>.<get-additionalText> declared in <root>.additionalText$delegate.<no name provided>' setter=null type=kotlin.reflect.KProperty2<<root>.Value<T of <root>.<get-additionalText>, <root>.CR<T of <root>.<get-additionalText>>>, <root>.Value<T of <root>.<get-additionalText>, <root>.CR<T of <root>.<get-additionalText>>>, T of <root>.<get-additionalText>> origin=PROPERTY_REFERENCE_FOR_DELEGATE
FUN name:getValue visibility:public modality:FINAL <> ($this:<root>.additionalText$delegate.<no name provided>, t:<root>.Value<T of <root>.<get-additionalText>, <root>.CR<T of <root>.<get-additionalText>>>, p:kotlin.reflect.KProperty<*>) returnType:<root>.P<T of <root>.<get-additionalText>, T of <root>.<get-additionalText>>
$this: VALUE_PARAMETER name:<this> type:<root>.additionalText$delegate.<no name provided>
VALUE_PARAMETER name:t index:0 type:<root>.Value<T of <root>.<get-additionalText>, <root>.CR<T of <root>.<get-additionalText>>>
@@ -319,5 +319,5 @@ FILE fqName:<root> fileName:/genericDelegatedDeepProperty.kt
CALL 'public final fun getValue (t: <root>.Value<T of <root>.<get-additionalText>, <root>.CR<T of <root>.<get-additionalText>>>, p: kotlin.reflect.KProperty<*>): <root>.P<T of <root>.<get-additionalText>, T of <root>.<get-additionalText>> declared in <root>.additionalText$delegate.<no name provided>' type=<root>.P<T of <root>.<get-additionalText>, T of <root>.<get-additionalText>> origin=null
$this: GET_FIELD 'FIELD PROPERTY_DELEGATE name:additionalText$delegate type:<root>.additionalText$delegate.<no name provided> visibility:private [final,static]' type=<root>.additionalText$delegate.<no name provided> origin=null
t: ERROR_CALL 'Unresolved reference: this@R|/additionalText|' type=<root>.Value<T of <root>.<get-additionalText>, <root>.CR<T of <root>.<get-additionalText>>>
p: PROPERTY_REFERENCE 'public final additionalText: <root>.P<T of <root>.<get-additionalText>, T of <root>.<get-additionalText>> [delegated,val]' field=null getter='public final fun <get-additionalText> <T> (): <root>.P<T of <root>.<get-additionalText>, T of <root>.<get-additionalText>> declared in <root>' setter=null type=kotlin.reflect.KProperty<*> origin=PROPERTY_REFERENCE_FOR_DELEGATE
p: PROPERTY_REFERENCE 'public final additionalText: <root>.P<T of <root>.<get-additionalText>, T of <root>.<get-additionalText>> [delegated,val]' field=null getter='public final fun <get-additionalText> <T> (): <root>.P<T of <root>.<get-additionalText>, T of <root>.<get-additionalText>> declared in <root>' setter=null type=kotlin.reflect.KProperty1<<root>.Value<T of <root>.<get-additionalText>, <root>.CR<T of <root>.<get-additionalText>>>, <root>.P<T of <root>.<get-additionalText>, T of <root>.<get-additionalText>>> origin=PROPERTY_REFERENCE_FOR_DELEGATE
<1>: <none>