IR: get rid of descriptors in local delegated properties rendering

This commit is contained in:
Dmitry Petrov
2019-03-21 15:28:03 +03:00
parent 12e9943f8f
commit d4525e19dd
21 changed files with 104 additions and 79 deletions
@@ -52,7 +52,7 @@ FILE fqName:<root> fileName:/differentReceivers.kt
$receiver: 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 'PROPERTY name:testO visibility:public modality:FINAL [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
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
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 declared in <root>' type=kotlin.String origin=null
$receiver: GET_FIELD 'FIELD 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 'PROPERTY name:testO visibility:public modality:FINAL [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
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 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 declared in <root>' type=kotlin.String origin=null
$receiver: GET_FIELD 'FIELD 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 'PROPERTY name:testK visibility:public modality:FINAL [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
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:public [final,static]
EXPRESSION_BODY
@@ -86,11 +86,11 @@ FILE fqName:<root> fileName:/local.kt
$this: 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: LOCAL_DELEGATED_PROPERTY_REFERENCE 'testMember: String' delegate='val testMember$delegate: <root>.Delegate [val] declared in <root>.foo' getter='local final fun <get-testMember> (): kotlin.String declared in <root>.foo' setter=null type=kotlin.reflect.KProperty0<kotlin.String> origin=PROPERTY_REFERENCE_FOR_DELEGATE
property: LOCAL_DELEGATED_PROPERTY_REFERENCE 'val testMember: kotlin.String by (...)' delegate='val testMember$delegate: <root>.Delegate [val] declared in <root>.foo' getter='local final fun <get-testMember> (): kotlin.String declared in <root>.foo' setter=null type=kotlin.reflect.KProperty0<kotlin.String> origin=PROPERTY_REFERENCE_FOR_DELEGATE
FUN DELEGATED_PROPERTY_ACCESSOR name:<get-testMember> visibility:local modality:FINAL <> () returnType:kotlin.String
BLOCK_BODY
RETURN type=kotlin.Nothing from='local final fun <get-testMember> (): kotlin.String declared in <root>.foo'
CALL 'public final fun getValue (thisRef: kotlin.Any?, property: kotlin.Any?): kotlin.String declared in <root>.Delegate' type=kotlin.String origin=null
$this: GET_VAR 'val testMember$delegate: <root>.Delegate [val] declared in <root>.foo' type=<root>.Delegate origin=null
thisRef: CONST Null type=kotlin.Nothing? value=null
property: LOCAL_DELEGATED_PROPERTY_REFERENCE 'testMember: String' delegate='val testMember$delegate: <root>.Delegate [val] declared in <root>.foo' getter='local final fun <get-testMember> (): kotlin.String declared in <root>.foo' setter=null type=kotlin.reflect.KProperty0<kotlin.String> origin=PROPERTY_REFERENCE_FOR_DELEGATE
property: LOCAL_DELEGATED_PROPERTY_REFERENCE 'val testMember: kotlin.String by (...)' delegate='val testMember$delegate: <root>.Delegate [val] declared in <root>.foo' getter='local final fun <get-testMember> (): kotlin.String declared in <root>.foo' setter=null type=kotlin.reflect.KProperty0<kotlin.String> origin=PROPERTY_REFERENCE_FOR_DELEGATE
@@ -53,14 +53,14 @@ FILE fqName:<root> fileName:/localDifferentReceivers.kt
$receiver: 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: LOCAL_DELEGATED_PROPERTY_REFERENCE 'testO: String' delegate='val testO$delegate: kotlin.String [val] declared in <root>.box' getter='local final fun <get-testO> (): kotlin.String declared in <root>.box' setter=null type=kotlin.reflect.KProperty0<kotlin.String> origin=PROPERTY_REFERENCE_FOR_DELEGATE
p: LOCAL_DELEGATED_PROPERTY_REFERENCE 'val testO: kotlin.String by (...)' delegate='val testO$delegate: kotlin.String [val] declared in <root>.box' getter='local final fun <get-testO> (): kotlin.String declared in <root>.box' setter=null type=kotlin.reflect.KProperty0<kotlin.String> origin=PROPERTY_REFERENCE_FOR_DELEGATE
FUN DELEGATED_PROPERTY_ACCESSOR name:<get-testO> visibility:local modality:FINAL <> () returnType:kotlin.String
BLOCK_BODY
RETURN type=kotlin.Nothing from='local final fun <get-testO> (): kotlin.String declared in <root>.box'
CALL 'public final fun getValue (receiver: kotlin.Any?, p: kotlin.Any): kotlin.String declared in <root>' type=kotlin.String origin=null
$receiver: GET_VAR 'val testO$delegate: kotlin.String [val] declared in <root>.box' type=kotlin.String origin=null
receiver: CONST Null type=kotlin.Nothing? value=null
p: LOCAL_DELEGATED_PROPERTY_REFERENCE 'testO: String' delegate='val testO$delegate: kotlin.String [val] declared in <root>.box' getter='local final fun <get-testO> (): kotlin.String declared in <root>.box' setter=null type=kotlin.reflect.KProperty0<kotlin.String> origin=PROPERTY_REFERENCE_FOR_DELEGATE
p: LOCAL_DELEGATED_PROPERTY_REFERENCE 'val testO: kotlin.String by (...)' delegate='val testO$delegate: kotlin.String [val] declared in <root>.box' getter='local final fun <get-testO> (): kotlin.String declared in <root>.box' setter=null type=kotlin.reflect.KProperty0<kotlin.String> origin=PROPERTY_REFERENCE_FOR_DELEGATE
LOCAL_DELEGATED_PROPERTY name:testK type:kotlin.String flags:val
VAR DELEGATE name:testK$delegate type:kotlin.String [val]
CONST String type=kotlin.String value="K"
@@ -70,7 +70,7 @@ FILE fqName:<root> fileName:/localDifferentReceivers.kt
CALL 'public final fun getValue (receiver: kotlin.Any?, p: kotlin.Any): kotlin.String declared in <root>' type=kotlin.String origin=null
$receiver: GET_VAR 'val testK$delegate: kotlin.String [val] declared in <root>.box' type=kotlin.String origin=null
receiver: CONST Null type=kotlin.Nothing? value=null
p: LOCAL_DELEGATED_PROPERTY_REFERENCE 'testK: String' delegate='val testK$delegate: kotlin.String [val] declared in <root>.box' getter='local final fun <get-testK> (): kotlin.String declared in <root>.box' setter=null type=kotlin.reflect.KProperty0<kotlin.String> origin=PROPERTY_REFERENCE_FOR_DELEGATE
p: LOCAL_DELEGATED_PROPERTY_REFERENCE 'val testK: kotlin.String by (...)' delegate='val testK$delegate: kotlin.String [val] declared in <root>.box' getter='local final fun <get-testK> (): kotlin.String declared in <root>.box' setter=null type=kotlin.reflect.KProperty0<kotlin.String> origin=PROPERTY_REFERENCE_FOR_DELEGATE
VAR name:testOK type:kotlin.String [val]
CALL 'public final fun plus (other: kotlin.Any?): kotlin.String declared in kotlin.String' type=kotlin.String origin=PLUS
$this: CALL 'local final fun <get-testO> (): kotlin.String declared in <root>.box' type=kotlin.String origin=GET_LOCAL_PROPERTY
@@ -91,7 +91,7 @@ FILE fqName:<root> fileName:/member.kt
$this: 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 'PROPERTY name:testMember visibility:public modality:FINAL [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
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 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
@@ -101,7 +101,7 @@ FILE fqName:<root> fileName:/member.kt
$this: GET_FIELD 'FIELD DELEGATE name:testMember$delegate type:<root>.Delegate visibility:private [final] ' type=<root>.Delegate origin=null
receiver: GET_VAR '<this>: <root>.Host declared in <root>.Host.<get-testMember>' type=<root>.Host origin=null
thisRef: GET_VAR '<this>: <root>.Host declared in <root>.Host.<get-testMember>' type=<root>.Host origin=null
property: PROPERTY_REFERENCE 'PROPERTY name:testMember visibility:public modality:FINAL [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
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
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean 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 'PROPERTY name:plusK visibility:public modality:FINAL [delegated,val] ' field=null getter='public final fun <get-plusK> (): kotlin.String declared in <root>.Host' setter=null type=kotlin.reflect.KProperty2<kotlin.String, <root>.Host, kotlin.String> 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<kotlin.String, <root>.Host, kotlin.String> origin=PROPERTY_REFERENCE_FOR_DELEGATE
FUN DELEGATED_PROPERTY_ACCESSOR name:<get-plusK> visibility:public modality:FINAL <> ($this:<root>.Host, $receiver:kotlin.String) returnType:kotlin.String
correspondingProperty: PROPERTY name:plusK visibility:public modality:FINAL [delegated,val]
$this: VALUE_PARAMETER name:<this> type:<root>.Host
@@ -73,7 +73,7 @@ FILE fqName:<root> fileName:/memberExtension.kt
$this: GET_FIELD 'FIELD DELEGATE name:plusK$delegate type:<root>.Host.StringDelegate visibility:private [final] ' type=<root>.Host.StringDelegate origin=null
receiver: GET_VAR '<this>: <root>.Host declared in <root>.Host.<get-plusK>' type=<root>.Host origin=null
receiver: GET_VAR '<this>: kotlin.String declared in <root>.Host.<get-plusK>' type=kotlin.String origin=null
p: PROPERTY_REFERENCE 'PROPERTY name:plusK visibility:public modality:FINAL [delegated,val] ' field=null getter='public final fun <get-plusK> (): kotlin.String declared in <root>.Host' setter=null type=kotlin.reflect.KProperty2<kotlin.String, <root>.Host, kotlin.String> 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<kotlin.String, <root>.Host, kotlin.String> origin=PROPERTY_REFERENCE_FOR_DELEGATE
PROPERTY name:ok visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:ok type:kotlin.String visibility:public [final]
EXPRESSION_BODY
@@ -85,7 +85,7 @@ FILE fqName:<root> fileName:/topLevel.kt
$this: 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 'PROPERTY name:testTopLevel visibility:public modality:FINAL [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
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
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 declared in <root>.Delegate' type=kotlin.String origin=null
$this: GET_FIELD 'FIELD 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 'PROPERTY name:testTopLevel visibility:public modality:FINAL [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
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