IR: don't use descriptors in rendering (work in progress)

There's some descriptor-based code remaining. Need some more work on IR.
This commit is contained in:
Dmitry Petrov
2019-03-14 14:17:26 +03:00
parent bd3d5a9dbb
commit e49eae528c
319 changed files with 18613 additions and 18703 deletions
@@ -1,87 +1,86 @@
FILE fqName:<root> fileName:/differentReceivers.kt
CLASS CLASS name:MyClass modality:FINAL visibility:public flags: superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:MyClass flags:
CONSTRUCTOR visibility:public <> (value:kotlin.String) returnType:MyClass flags:primary
VALUE_PARAMETER name:value index:0 type:kotlin.String flags:
CLASS CLASS name:MyClass modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.MyClass flags:[]
CONSTRUCTOR visibility:public <> (value:kotlin.String) returnType:<root>.MyClass flags:[primary]
VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor='MyClass'
PROPERTY name:value visibility:public modality:FINAL flags:val
FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.String visibility:public flags:final
DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:MyClass modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]'
PROPERTY name:value visibility:public modality:FINAL flags:[val]
FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.String visibility:public flags:[final]
EXPRESSION_BODY
GET_VAR 'value-parameter value: String' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-value> visibility:public modality:FINAL <> ($this:MyClass) returnType:kotlin.String flags:
correspondingProperty: PROPERTY name:value visibility:public modality:FINAL flags:val
$this: VALUE_PARAMETER name:<this> type:MyClass flags:
GET_VAR 'VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[]' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-value> visibility:public modality:FINAL <> ($this:<root>.MyClass) returnType:kotlin.String flags:[]
correspondingProperty: PROPERTY name:value visibility:public modality:FINAL flags:[val]
$this: VALUE_PARAMETER name:<this> type:<root>.MyClass flags:[]
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-value>(): String'
GET_FIELD 'value: String' type=kotlin.String origin=null
receiver: GET_VAR 'this@MyClass: MyClass' type=MyClass origin=null
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:
RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name:<get-value> visibility:public modality:FINAL <> ($this:<root>.MyClass) returnType:kotlin.String flags:[]'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.String visibility:public flags:[final]' type=kotlin.String origin=null
receiver: GET_VAR 'VALUE_PARAMETER name:<this> type:<root>.MyClass flags:[]' type=<root>.MyClass origin=null
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]
overridden:
FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:[]
VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[]
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[]
overridden:
FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[]
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:[]
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[]
overridden:
FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
FUN name:provideDelegate visibility:public modality:FINAL <> ($receiver:MyClass, host:kotlin.Any?, p:kotlin.Any) returnType:kotlin.String flags:
$receiver: VALUE_PARAMETER name:<this> type:MyClass flags:
VALUE_PARAMETER name:host index:0 type:kotlin.Any? flags:
VALUE_PARAMETER name:p index:1 type:kotlin.Any flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[]
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:[]
FUN name:provideDelegate visibility:public modality:FINAL <> ($receiver:<root>.MyClass, host:kotlin.Any?, p:kotlin.Any) returnType:kotlin.String flags:[]
$receiver: VALUE_PARAMETER name:<this> type:<root>.MyClass flags:[]
VALUE_PARAMETER name:host index:0 type:kotlin.Any? flags:[]
VALUE_PARAMETER name:p index:1 type:kotlin.Any flags:[]
BLOCK_BODY
RETURN type=kotlin.Nothing from='provideDelegate(Any?, Any) on MyClass: String'
CALL '<get-value>(): String' type=kotlin.String origin=GET_PROPERTY
$this: GET_VAR 'this@provideDelegate: MyClass' type=MyClass origin=null
FUN name:getValue visibility:public modality:FINAL <> ($receiver:kotlin.String, receiver:kotlin.Any?, p:kotlin.Any) returnType:kotlin.String flags:
$receiver: VALUE_PARAMETER name:<this> type:kotlin.String flags:
VALUE_PARAMETER name:receiver index:0 type:kotlin.Any? flags:
VALUE_PARAMETER name:p index:1 type:kotlin.Any flags:
RETURN type=kotlin.Nothing from='FUN name:provideDelegate visibility:public modality:FINAL <> ($receiver:<root>.MyClass, host:kotlin.Any?, p:kotlin.Any) returnType:kotlin.String flags:[]'
CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name:<get-value> visibility:public modality:FINAL <> ($this:<root>.MyClass) returnType:kotlin.String flags:[]' type=kotlin.String origin=GET_PROPERTY
$this: GET_VAR 'VALUE_PARAMETER name:<this> type:<root>.MyClass flags:[]' type=<root>.MyClass origin=null
FUN name:getValue visibility:public modality:FINAL <> ($receiver:kotlin.String, receiver:kotlin.Any?, p:kotlin.Any) returnType:kotlin.String flags:[]
$receiver: VALUE_PARAMETER name:<this> type:kotlin.String flags:[]
VALUE_PARAMETER name:receiver index:0 type:kotlin.Any? flags:[]
VALUE_PARAMETER name:p index:1 type:kotlin.Any flags:[]
BLOCK_BODY
RETURN type=kotlin.Nothing from='getValue(Any?, Any) on String: String'
GET_VAR 'this@getValue: String' type=kotlin.String origin=null
PROPERTY name:testO visibility:public modality:FINAL flags:delegated,val
FIELD DELEGATE name:testO$delegate type:kotlin.String visibility:private flags:final,static
RETURN type=kotlin.Nothing from='FUN name:getValue visibility:public modality:FINAL <> ($receiver:kotlin.String, receiver:kotlin.Any?, p:kotlin.Any) returnType:kotlin.String flags:[]'
GET_VAR 'VALUE_PARAMETER name:<this> type:kotlin.String flags:[]' type=kotlin.String origin=null
PROPERTY name:testO visibility:public modality:FINAL flags:[delegated,val]
FIELD DELEGATE name:testO$delegate type:kotlin.String visibility:private flags:[final,static]
EXPRESSION_BODY
CALL 'provideDelegate(Any?, Any) on MyClass: String' type=kotlin.String origin=null
$receiver: CALL 'constructor MyClass(String)' type=MyClass origin=null
CALL 'FUN name:provideDelegate visibility:public modality:FINAL <> ($receiver:<root>.MyClass, host:kotlin.Any?, p:kotlin.Any) returnType:kotlin.String flags:[]' type=kotlin.String origin=null
$receiver: CALL 'CONSTRUCTOR visibility:public <> (value:kotlin.String) returnType:<root>.MyClass flags:[primary]' type=<root>.MyClass origin=null
value: CONST String type=kotlin.String value="O"
host: CONST Null type=kotlin.Nothing? value=null
p: PROPERTY_REFERENCE 'testO: String' field=null getter='<get-testO>(): String' 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 flags:
correspondingProperty: PROPERTY name:testO visibility:public modality:FINAL flags:delegated,val
p: PROPERTY_REFERENCE 'testO: String' field=null getter='FUN DELEGATED_PROPERTY_ACCESSOR name:<get-testO> visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' 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 flags:[]
correspondingProperty: PROPERTY name:testO visibility:public modality:FINAL flags:[delegated,val]
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-testO>(): String'
CALL 'getValue(Any?, Any) on String: String' type=kotlin.String origin=null
$receiver: GET_FIELD '`testO$delegate`: String' type=kotlin.String origin=null
RETURN type=kotlin.Nothing from='FUN DELEGATED_PROPERTY_ACCESSOR name:<get-testO> visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]'
CALL 'FUN name:getValue visibility:public modality:FINAL <> ($receiver:kotlin.String, receiver:kotlin.Any?, p:kotlin.Any) returnType:kotlin.String flags:[]' type=kotlin.String origin=null
$receiver: GET_FIELD 'FIELD DELEGATE name:testO$delegate type:kotlin.String visibility:private flags:[final,static]' type=kotlin.String origin=null
receiver: CONST Null type=kotlin.Nothing? value=null
p: PROPERTY_REFERENCE 'testO: String' field=null getter='<get-testO>(): String' setter=null type=kotlin.reflect.KProperty0<kotlin.String> origin=PROPERTY_REFERENCE_FOR_DELEGATE
PROPERTY name:testK visibility:public modality:FINAL flags:delegated,val
FIELD DELEGATE name:testK$delegate type:kotlin.String visibility:private flags:final,static
p: PROPERTY_REFERENCE 'testO: String' field=null getter='FUN DELEGATED_PROPERTY_ACCESSOR name:<get-testO> visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' setter=null type=kotlin.reflect.KProperty0<kotlin.String> origin=PROPERTY_REFERENCE_FOR_DELEGATE
PROPERTY name:testK visibility:public modality:FINAL flags:[delegated,val]
FIELD DELEGATE name:testK$delegate type:kotlin.String visibility:private flags:[final,static]
EXPRESSION_BODY
CONST String type=kotlin.String value="K"
FUN DELEGATED_PROPERTY_ACCESSOR name:<get-testK> visibility:public modality:FINAL <> () returnType:kotlin.String flags:
correspondingProperty: PROPERTY name:testK visibility:public modality:FINAL flags:delegated,val
FUN DELEGATED_PROPERTY_ACCESSOR name:<get-testK> visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]
correspondingProperty: PROPERTY name:testK visibility:public modality:FINAL flags:[delegated,val]
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-testK>(): String'
CALL 'getValue(Any?, Any) on String: String' type=kotlin.String origin=null
$receiver: GET_FIELD '`testK$delegate`: String' type=kotlin.String origin=null
RETURN type=kotlin.Nothing from='FUN DELEGATED_PROPERTY_ACCESSOR name:<get-testK> visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]'
CALL 'FUN name:getValue visibility:public modality:FINAL <> ($receiver:kotlin.String, receiver:kotlin.Any?, p:kotlin.Any) returnType:kotlin.String flags:[]' type=kotlin.String origin=null
$receiver: GET_FIELD 'FIELD DELEGATE name:testK$delegate type:kotlin.String visibility:private flags:[final,static]' type=kotlin.String origin=null
receiver: CONST Null type=kotlin.Nothing? value=null
p: PROPERTY_REFERENCE 'testK: String' field=null getter='<get-testK>(): String' setter=null type=kotlin.reflect.KProperty0<kotlin.String> origin=PROPERTY_REFERENCE_FOR_DELEGATE
PROPERTY name:testOK visibility:public modality:FINAL flags:val
FIELD PROPERTY_BACKING_FIELD name:testOK type:kotlin.String visibility:public flags:final,static
p: PROPERTY_REFERENCE 'testK: String' field=null getter='FUN DELEGATED_PROPERTY_ACCESSOR name:<get-testK> visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' setter=null type=kotlin.reflect.KProperty0<kotlin.String> origin=PROPERTY_REFERENCE_FOR_DELEGATE
PROPERTY name:testOK visibility:public modality:FINAL flags:[val]
FIELD PROPERTY_BACKING_FIELD name:testOK type:kotlin.String visibility:public flags:[final,static]
EXPRESSION_BODY
CALL 'plus(Any?): String' type=kotlin.String origin=PLUS
$this: CALL '<get-testO>(): String' type=kotlin.String origin=GET_PROPERTY
other: CALL '<get-testK>(): String' type=kotlin.String origin=GET_PROPERTY
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-testOK> visibility:public modality:FINAL <> () returnType:kotlin.String flags:
correspondingProperty: PROPERTY name:testOK visibility:public modality:FINAL flags:val
CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.String, other:kotlin.Any?) returnType:kotlin.String flags:[]' type=kotlin.String origin=PLUS
$this: CALL 'FUN DELEGATED_PROPERTY_ACCESSOR name:<get-testO> visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' type=kotlin.String origin=GET_PROPERTY
other: CALL 'FUN DELEGATED_PROPERTY_ACCESSOR name:<get-testK> visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' type=kotlin.String origin=GET_PROPERTY
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-testOK> visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]
correspondingProperty: PROPERTY name:testOK visibility:public modality:FINAL flags:[val]
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-testOK>(): String'
GET_FIELD 'testOK: String' type=kotlin.String origin=null
RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name:<get-testOK> visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testOK type:kotlin.String visibility:public flags:[final,static]' type=kotlin.String origin=null
@@ -1,97 +1,96 @@
FILE fqName:<root> fileName:/local.kt
CLASS CLASS name:Delegate modality:FINAL visibility:public flags: superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:Delegate flags:
CONSTRUCTOR visibility:public <> (value:kotlin.String) returnType:Delegate flags:primary
VALUE_PARAMETER name:value index:0 type:kotlin.String flags:
CLASS CLASS name:Delegate modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Delegate flags:[]
CONSTRUCTOR visibility:public <> (value:kotlin.String) returnType:<root>.Delegate flags:[primary]
VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor='Delegate'
PROPERTY name:value visibility:public modality:FINAL flags:val
FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.String visibility:public flags:final
DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Delegate modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]'
PROPERTY name:value visibility:public modality:FINAL flags:[val]
FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.String visibility:public flags:[final]
EXPRESSION_BODY
GET_VAR 'value-parameter value: String' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-value> visibility:public modality:FINAL <> ($this:Delegate) returnType:kotlin.String flags:
correspondingProperty: PROPERTY name:value visibility:public modality:FINAL flags:val
$this: VALUE_PARAMETER name:<this> type:Delegate flags:
GET_VAR 'VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[]' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-value> visibility:public modality:FINAL <> ($this:<root>.Delegate) returnType:kotlin.String flags:[]
correspondingProperty: PROPERTY name:value visibility:public modality:FINAL flags:[val]
$this: VALUE_PARAMETER name:<this> type:<root>.Delegate flags:[]
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-value>(): String'
GET_FIELD 'value: String' type=kotlin.String origin=null
receiver: GET_VAR 'this@Delegate: Delegate' type=Delegate origin=null
FUN name:getValue visibility:public modality:FINAL <> ($this:Delegate, thisRef:kotlin.Any?, property:kotlin.Any?) returnType:kotlin.String flags:
$this: VALUE_PARAMETER name:<this> type:Delegate flags:
VALUE_PARAMETER name:thisRef index:0 type:kotlin.Any? flags:
VALUE_PARAMETER name:property index:1 type:kotlin.Any? flags:
RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name:<get-value> visibility:public modality:FINAL <> ($this:<root>.Delegate) returnType:kotlin.String flags:[]'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.String visibility:public flags:[final]' type=kotlin.String origin=null
receiver: GET_VAR 'VALUE_PARAMETER name:<this> type:<root>.Delegate flags:[]' type=<root>.Delegate origin=null
FUN name:getValue visibility:public modality:FINAL <> ($this:<root>.Delegate, thisRef:kotlin.Any?, property:kotlin.Any?) returnType:kotlin.String flags:[]
$this: VALUE_PARAMETER name:<this> type:<root>.Delegate flags:[]
VALUE_PARAMETER name:thisRef index:0 type:kotlin.Any? flags:[]
VALUE_PARAMETER name:property index:1 type:kotlin.Any? flags:[]
BLOCK_BODY
RETURN type=kotlin.Nothing from='getValue(Any?, Any?): String'
CALL '<get-value>(): String' type=kotlin.String origin=GET_PROPERTY
$this: GET_VAR 'this@Delegate: Delegate' type=Delegate origin=null
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:
RETURN type=kotlin.Nothing from='FUN name:getValue visibility:public modality:FINAL <> ($this:<root>.Delegate, thisRef:kotlin.Any?, property:kotlin.Any?) returnType:kotlin.String flags:[]'
CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name:<get-value> visibility:public modality:FINAL <> ($this:<root>.Delegate) returnType:kotlin.String flags:[]' type=kotlin.String origin=GET_PROPERTY
$this: GET_VAR 'VALUE_PARAMETER name:<this> type:<root>.Delegate flags:[]' type=<root>.Delegate origin=null
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]
overridden:
FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:[]
VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[]
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[]
overridden:
FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[]
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:[]
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[]
overridden:
FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
CLASS CLASS name:DelegateProvider modality:FINAL visibility:public flags: superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:DelegateProvider flags:
CONSTRUCTOR visibility:public <> (value:kotlin.String) returnType:DelegateProvider flags:primary
VALUE_PARAMETER name:value index:0 type:kotlin.String flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[]
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:[]
CLASS CLASS name:DelegateProvider modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.DelegateProvider flags:[]
CONSTRUCTOR visibility:public <> (value:kotlin.String) returnType:<root>.DelegateProvider flags:[primary]
VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor='DelegateProvider'
PROPERTY name:value visibility:public modality:FINAL flags:val
FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.String visibility:public flags:final
DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:DelegateProvider modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]'
PROPERTY name:value visibility:public modality:FINAL flags:[val]
FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.String visibility:public flags:[final]
EXPRESSION_BODY
GET_VAR 'value-parameter value: String' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-value> visibility:public modality:FINAL <> ($this:DelegateProvider) returnType:kotlin.String flags:
correspondingProperty: PROPERTY name:value visibility:public modality:FINAL flags:val
$this: VALUE_PARAMETER name:<this> type:DelegateProvider flags:
GET_VAR 'VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[]' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-value> visibility:public modality:FINAL <> ($this:<root>.DelegateProvider) returnType:kotlin.String flags:[]
correspondingProperty: PROPERTY name:value visibility:public modality:FINAL flags:[val]
$this: VALUE_PARAMETER name:<this> type:<root>.DelegateProvider flags:[]
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-value>(): String'
GET_FIELD 'value: String' type=kotlin.String origin=null
receiver: GET_VAR 'this@DelegateProvider: DelegateProvider' type=DelegateProvider origin=null
FUN name:provideDelegate visibility:public modality:FINAL <> ($this:DelegateProvider, thisRef:kotlin.Any?, property:kotlin.Any?) returnType:Delegate flags:
$this: VALUE_PARAMETER name:<this> type:DelegateProvider flags:
VALUE_PARAMETER name:thisRef index:0 type:kotlin.Any? flags:
VALUE_PARAMETER name:property index:1 type:kotlin.Any? flags:
RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name:<get-value> visibility:public modality:FINAL <> ($this:<root>.DelegateProvider) returnType:kotlin.String flags:[]'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.String visibility:public flags:[final]' type=kotlin.String origin=null
receiver: GET_VAR 'VALUE_PARAMETER name:<this> type:<root>.DelegateProvider flags:[]' type=<root>.DelegateProvider origin=null
FUN name:provideDelegate visibility:public modality:FINAL <> ($this:<root>.DelegateProvider, thisRef:kotlin.Any?, property:kotlin.Any?) returnType:<root>.Delegate flags:[]
$this: VALUE_PARAMETER name:<this> type:<root>.DelegateProvider flags:[]
VALUE_PARAMETER name:thisRef index:0 type:kotlin.Any? flags:[]
VALUE_PARAMETER name:property index:1 type:kotlin.Any? flags:[]
BLOCK_BODY
RETURN type=kotlin.Nothing from='provideDelegate(Any?, Any?): Delegate'
CALL 'constructor Delegate(String)' type=Delegate origin=null
value: CALL '<get-value>(): String' type=kotlin.String origin=GET_PROPERTY
$this: GET_VAR 'this@DelegateProvider: DelegateProvider' type=DelegateProvider origin=null
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:
RETURN type=kotlin.Nothing from='FUN name:provideDelegate visibility:public modality:FINAL <> ($this:<root>.DelegateProvider, thisRef:kotlin.Any?, property:kotlin.Any?) returnType:<root>.Delegate flags:[]'
CALL 'CONSTRUCTOR visibility:public <> (value:kotlin.String) returnType:<root>.Delegate flags:[primary]' type=<root>.Delegate origin=null
value: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name:<get-value> visibility:public modality:FINAL <> ($this:<root>.DelegateProvider) returnType:kotlin.String flags:[]' type=kotlin.String origin=GET_PROPERTY
$this: GET_VAR 'VALUE_PARAMETER name:<this> type:<root>.DelegateProvider flags:[]' type=<root>.DelegateProvider origin=null
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]
overridden:
FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:[]
VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[]
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[]
overridden:
FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[]
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:[]
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[]
overridden:
FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[]
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:[]
FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Unit flags:[]
BLOCK_BODY
LOCAL_DELEGATED_PROPERTY name:testMember type:kotlin.String flags:val
VAR DELEGATE name:testMember$delegate type:Delegate flags:val
CALL 'provideDelegate(Any?, Any?): Delegate' type=Delegate origin=null
$this: CALL 'constructor DelegateProvider(String)' type=DelegateProvider origin=null
VAR DELEGATE name:testMember$delegate type:<root>.Delegate flags:[val]
CALL 'FUN name:provideDelegate visibility:public modality:FINAL <> ($this:<root>.DelegateProvider, thisRef:kotlin.Any?, property:kotlin.Any?) returnType:<root>.Delegate flags:[]' type=<root>.Delegate origin=null
$this: CALL 'CONSTRUCTOR visibility:public <> (value:kotlin.String) returnType:<root>.DelegateProvider flags:[primary]' 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='`testMember$delegate`: Delegate' getter='<get-testMember>(): String' 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 flags:
property: LOCAL_DELEGATED_PROPERTY_REFERENCE 'testMember: String' delegate='VAR DELEGATE name:testMember$delegate type:<root>.Delegate flags:[val]' getter='FUN DELEGATED_PROPERTY_ACCESSOR name:<get-testMember> visibility:local modality:FINAL <> () returnType:kotlin.String flags:[]' 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 flags:[]
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-testMember>(): String'
CALL 'getValue(Any?, Any?): String' type=kotlin.String origin=null
$this: GET_VAR '`testMember$delegate`: Delegate' type=Delegate origin=null
RETURN type=kotlin.Nothing from='FUN DELEGATED_PROPERTY_ACCESSOR name:<get-testMember> visibility:local modality:FINAL <> () returnType:kotlin.String flags:[]'
CALL 'FUN name:getValue visibility:public modality:FINAL <> ($this:<root>.Delegate, thisRef:kotlin.Any?, property:kotlin.Any?) returnType:kotlin.String flags:[]' type=kotlin.String origin=null
$this: GET_VAR 'VAR DELEGATE name:testMember$delegate type:<root>.Delegate flags:[val]' type=<root>.Delegate origin=null
thisRef: CONST Null type=kotlin.Nothing? value=null
property: LOCAL_DELEGATED_PROPERTY_REFERENCE 'testMember: String' delegate='`testMember$delegate`: Delegate' getter='<get-testMember>(): String' setter=null type=kotlin.reflect.KProperty0<kotlin.String> origin=PROPERTY_REFERENCE_FOR_DELEGATE
property: LOCAL_DELEGATED_PROPERTY_REFERENCE 'testMember: String' delegate='VAR DELEGATE name:testMember$delegate type:<root>.Delegate flags:[val]' getter='FUN DELEGATED_PROPERTY_ACCESSOR name:<get-testMember> visibility:local modality:FINAL <> () returnType:kotlin.String flags:[]' setter=null type=kotlin.reflect.KProperty0<kotlin.String> origin=PROPERTY_REFERENCE_FOR_DELEGATE
@@ -1,80 +1,79 @@
FILE fqName:<root> fileName:/localDifferentReceivers.kt
CLASS CLASS name:MyClass modality:FINAL visibility:public flags: superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:MyClass flags:
CONSTRUCTOR visibility:public <> (value:kotlin.String) returnType:MyClass flags:primary
VALUE_PARAMETER name:value index:0 type:kotlin.String flags:
CLASS CLASS name:MyClass modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.MyClass flags:[]
CONSTRUCTOR visibility:public <> (value:kotlin.String) returnType:<root>.MyClass flags:[primary]
VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor='MyClass'
PROPERTY name:value visibility:public modality:FINAL flags:val
FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.String visibility:public flags:final
DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:MyClass modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]'
PROPERTY name:value visibility:public modality:FINAL flags:[val]
FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.String visibility:public flags:[final]
EXPRESSION_BODY
GET_VAR 'value-parameter value: String' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-value> visibility:public modality:FINAL <> ($this:MyClass) returnType:kotlin.String flags:
correspondingProperty: PROPERTY name:value visibility:public modality:FINAL flags:val
$this: VALUE_PARAMETER name:<this> type:MyClass flags:
GET_VAR 'VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[]' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-value> visibility:public modality:FINAL <> ($this:<root>.MyClass) returnType:kotlin.String flags:[]
correspondingProperty: PROPERTY name:value visibility:public modality:FINAL flags:[val]
$this: VALUE_PARAMETER name:<this> type:<root>.MyClass flags:[]
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-value>(): String'
GET_FIELD 'value: String' type=kotlin.String origin=null
receiver: GET_VAR 'this@MyClass: MyClass' type=MyClass origin=null
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:
RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name:<get-value> visibility:public modality:FINAL <> ($this:<root>.MyClass) returnType:kotlin.String flags:[]'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.String visibility:public flags:[final]' type=kotlin.String origin=null
receiver: GET_VAR 'VALUE_PARAMETER name:<this> type:<root>.MyClass flags:[]' type=<root>.MyClass origin=null
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]
overridden:
FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:[]
VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[]
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[]
overridden:
FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[]
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:[]
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[]
overridden:
FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
FUN name:provideDelegate visibility:public modality:FINAL <> ($receiver:MyClass, host:kotlin.Any?, p:kotlin.Any) returnType:kotlin.String flags:
$receiver: VALUE_PARAMETER name:<this> type:MyClass flags:
VALUE_PARAMETER name:host index:0 type:kotlin.Any? flags:
VALUE_PARAMETER name:p index:1 type:kotlin.Any flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[]
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:[]
FUN name:provideDelegate visibility:public modality:FINAL <> ($receiver:<root>.MyClass, host:kotlin.Any?, p:kotlin.Any) returnType:kotlin.String flags:[]
$receiver: VALUE_PARAMETER name:<this> type:<root>.MyClass flags:[]
VALUE_PARAMETER name:host index:0 type:kotlin.Any? flags:[]
VALUE_PARAMETER name:p index:1 type:kotlin.Any flags:[]
BLOCK_BODY
RETURN type=kotlin.Nothing from='provideDelegate(Any?, Any) on MyClass: String'
CALL '<get-value>(): String' type=kotlin.String origin=GET_PROPERTY
$this: GET_VAR 'this@provideDelegate: MyClass' type=MyClass origin=null
FUN name:getValue visibility:public modality:FINAL <> ($receiver:kotlin.String, receiver:kotlin.Any?, p:kotlin.Any) returnType:kotlin.String flags:
$receiver: VALUE_PARAMETER name:<this> type:kotlin.String flags:
VALUE_PARAMETER name:receiver index:0 type:kotlin.Any? flags:
VALUE_PARAMETER name:p index:1 type:kotlin.Any flags:
RETURN type=kotlin.Nothing from='FUN name:provideDelegate visibility:public modality:FINAL <> ($receiver:<root>.MyClass, host:kotlin.Any?, p:kotlin.Any) returnType:kotlin.String flags:[]'
CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name:<get-value> visibility:public modality:FINAL <> ($this:<root>.MyClass) returnType:kotlin.String flags:[]' type=kotlin.String origin=GET_PROPERTY
$this: GET_VAR 'VALUE_PARAMETER name:<this> type:<root>.MyClass flags:[]' type=<root>.MyClass origin=null
FUN name:getValue visibility:public modality:FINAL <> ($receiver:kotlin.String, receiver:kotlin.Any?, p:kotlin.Any) returnType:kotlin.String flags:[]
$receiver: VALUE_PARAMETER name:<this> type:kotlin.String flags:[]
VALUE_PARAMETER name:receiver index:0 type:kotlin.Any? flags:[]
VALUE_PARAMETER name:p index:1 type:kotlin.Any flags:[]
BLOCK_BODY
RETURN type=kotlin.Nothing from='getValue(Any?, Any) on String: String'
GET_VAR 'this@getValue: String' type=kotlin.String origin=null
FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String flags:
RETURN type=kotlin.Nothing from='FUN name:getValue visibility:public modality:FINAL <> ($receiver:kotlin.String, receiver:kotlin.Any?, p:kotlin.Any) returnType:kotlin.String flags:[]'
GET_VAR 'VALUE_PARAMETER name:<this> type:kotlin.String flags:[]' type=kotlin.String origin=null
FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]
BLOCK_BODY
LOCAL_DELEGATED_PROPERTY name:testO type:kotlin.String flags:val
VAR DELEGATE name:testO$delegate type:kotlin.String flags:val
CALL 'provideDelegate(Any?, Any) on MyClass: String' type=kotlin.String origin=null
$receiver: CALL 'constructor MyClass(String)' type=MyClass origin=null
VAR DELEGATE name:testO$delegate type:kotlin.String flags:[val]
CALL 'FUN name:provideDelegate visibility:public modality:FINAL <> ($receiver:<root>.MyClass, host:kotlin.Any?, p:kotlin.Any) returnType:kotlin.String flags:[]' type=kotlin.String origin=null
$receiver: CALL 'CONSTRUCTOR visibility:public <> (value:kotlin.String) returnType:<root>.MyClass flags:[primary]' 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='`testO$delegate`: String' getter='<get-testO>(): String' 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 flags:
p: LOCAL_DELEGATED_PROPERTY_REFERENCE 'testO: String' delegate='VAR DELEGATE name:testO$delegate type:kotlin.String flags:[val]' getter='FUN DELEGATED_PROPERTY_ACCESSOR name:<get-testO> visibility:local modality:FINAL <> () returnType:kotlin.String flags:[]' 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 flags:[]
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-testO>(): String'
CALL 'getValue(Any?, Any) on String: String' type=kotlin.String origin=null
$receiver: GET_VAR '`testO$delegate`: String' type=kotlin.String origin=null
RETURN type=kotlin.Nothing from='FUN DELEGATED_PROPERTY_ACCESSOR name:<get-testO> visibility:local modality:FINAL <> () returnType:kotlin.String flags:[]'
CALL 'FUN name:getValue visibility:public modality:FINAL <> ($receiver:kotlin.String, receiver:kotlin.Any?, p:kotlin.Any) returnType:kotlin.String flags:[]' type=kotlin.String origin=null
$receiver: GET_VAR 'VAR DELEGATE name:testO$delegate type:kotlin.String flags:[val]' type=kotlin.String origin=null
receiver: CONST Null type=kotlin.Nothing? value=null
p: LOCAL_DELEGATED_PROPERTY_REFERENCE 'testO: String' delegate='`testO$delegate`: String' getter='<get-testO>(): String' setter=null type=kotlin.reflect.KProperty0<kotlin.String> origin=PROPERTY_REFERENCE_FOR_DELEGATE
p: LOCAL_DELEGATED_PROPERTY_REFERENCE 'testO: String' delegate='VAR DELEGATE name:testO$delegate type:kotlin.String flags:[val]' getter='FUN DELEGATED_PROPERTY_ACCESSOR name:<get-testO> visibility:local modality:FINAL <> () returnType:kotlin.String flags:[]' 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 flags:val
VAR DELEGATE name:testK$delegate type:kotlin.String flags:[val]
CONST String type=kotlin.String value="K"
FUN DELEGATED_PROPERTY_ACCESSOR name:<get-testK> visibility:local modality:FINAL <> () returnType:kotlin.String flags:
FUN DELEGATED_PROPERTY_ACCESSOR name:<get-testK> visibility:local modality:FINAL <> () returnType:kotlin.String flags:[]
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-testK>(): String'
CALL 'getValue(Any?, Any) on String: String' type=kotlin.String origin=null
$receiver: GET_VAR '`testK$delegate`: String' type=kotlin.String origin=null
RETURN type=kotlin.Nothing from='FUN DELEGATED_PROPERTY_ACCESSOR name:<get-testK> visibility:local modality:FINAL <> () returnType:kotlin.String flags:[]'
CALL 'FUN name:getValue visibility:public modality:FINAL <> ($receiver:kotlin.String, receiver:kotlin.Any?, p:kotlin.Any) returnType:kotlin.String flags:[]' type=kotlin.String origin=null
$receiver: GET_VAR 'VAR DELEGATE name:testK$delegate type:kotlin.String flags:[val]' type=kotlin.String origin=null
receiver: CONST Null type=kotlin.Nothing? value=null
p: LOCAL_DELEGATED_PROPERTY_REFERENCE 'testK: String' delegate='`testK$delegate`: String' getter='<get-testK>(): String' setter=null type=kotlin.reflect.KProperty0<kotlin.String> origin=PROPERTY_REFERENCE_FOR_DELEGATE
VAR name:testOK type:kotlin.String flags:val
CALL 'plus(Any?): String' type=kotlin.String origin=PLUS
$this: CALL '<get-testO>(): String' type=kotlin.String origin=GET_LOCAL_PROPERTY
other: CALL '<get-testK>(): String' type=kotlin.String origin=GET_LOCAL_PROPERTY
RETURN type=kotlin.Nothing from='box(): String'
GET_VAR 'testOK: String' type=kotlin.String origin=null
p: LOCAL_DELEGATED_PROPERTY_REFERENCE 'testK: String' delegate='VAR DELEGATE name:testK$delegate type:kotlin.String flags:[val]' getter='FUN DELEGATED_PROPERTY_ACCESSOR name:<get-testK> visibility:local modality:FINAL <> () returnType:kotlin.String flags:[]' setter=null type=kotlin.reflect.KProperty0<kotlin.String> origin=PROPERTY_REFERENCE_FOR_DELEGATE
VAR name:testOK type:kotlin.String flags:[val]
CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.String, other:kotlin.Any?) returnType:kotlin.String flags:[]' type=kotlin.String origin=PLUS
$this: CALL 'FUN DELEGATED_PROPERTY_ACCESSOR name:<get-testO> visibility:local modality:FINAL <> () returnType:kotlin.String flags:[]' type=kotlin.String origin=GET_LOCAL_PROPERTY
other: CALL 'FUN DELEGATED_PROPERTY_ACCESSOR name:<get-testK> visibility:local modality:FINAL <> () returnType:kotlin.String flags:[]' type=kotlin.String origin=GET_LOCAL_PROPERTY
RETURN type=kotlin.Nothing from='FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]'
GET_VAR 'VAR name:testOK type:kotlin.String flags:[val]' type=kotlin.String origin=null
@@ -1,118 +1,117 @@
FILE fqName:<root> fileName:/member.kt
CLASS CLASS name:Delegate modality:FINAL visibility:public flags: superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:Delegate flags:
CONSTRUCTOR visibility:public <> (value:kotlin.String) returnType:Delegate flags:primary
VALUE_PARAMETER name:value index:0 type:kotlin.String flags:
CLASS CLASS name:Delegate modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Delegate flags:[]
CONSTRUCTOR visibility:public <> (value:kotlin.String) returnType:<root>.Delegate flags:[primary]
VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor='Delegate'
PROPERTY name:value visibility:public modality:FINAL flags:val
FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.String visibility:public flags:final
DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Delegate modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]'
PROPERTY name:value visibility:public modality:FINAL flags:[val]
FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.String visibility:public flags:[final]
EXPRESSION_BODY
GET_VAR 'value-parameter value: String' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-value> visibility:public modality:FINAL <> ($this:Delegate) returnType:kotlin.String flags:
correspondingProperty: PROPERTY name:value visibility:public modality:FINAL flags:val
$this: VALUE_PARAMETER name:<this> type:Delegate flags:
GET_VAR 'VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[]' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-value> visibility:public modality:FINAL <> ($this:<root>.Delegate) returnType:kotlin.String flags:[]
correspondingProperty: PROPERTY name:value visibility:public modality:FINAL flags:[val]
$this: VALUE_PARAMETER name:<this> type:<root>.Delegate flags:[]
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-value>(): String'
GET_FIELD 'value: String' type=kotlin.String origin=null
receiver: GET_VAR 'this@Delegate: Delegate' type=Delegate origin=null
FUN name:getValue visibility:public modality:FINAL <> ($this:Delegate, thisRef:kotlin.Any?, property:kotlin.Any?) returnType:kotlin.String flags:
$this: VALUE_PARAMETER name:<this> type:Delegate flags:
VALUE_PARAMETER name:thisRef index:0 type:kotlin.Any? flags:
VALUE_PARAMETER name:property index:1 type:kotlin.Any? flags:
RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name:<get-value> visibility:public modality:FINAL <> ($this:<root>.Delegate) returnType:kotlin.String flags:[]'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.String visibility:public flags:[final]' type=kotlin.String origin=null
receiver: GET_VAR 'VALUE_PARAMETER name:<this> type:<root>.Delegate flags:[]' type=<root>.Delegate origin=null
FUN name:getValue visibility:public modality:FINAL <> ($this:<root>.Delegate, thisRef:kotlin.Any?, property:kotlin.Any?) returnType:kotlin.String flags:[]
$this: VALUE_PARAMETER name:<this> type:<root>.Delegate flags:[]
VALUE_PARAMETER name:thisRef index:0 type:kotlin.Any? flags:[]
VALUE_PARAMETER name:property index:1 type:kotlin.Any? flags:[]
BLOCK_BODY
RETURN type=kotlin.Nothing from='getValue(Any?, Any?): String'
CALL '<get-value>(): String' type=kotlin.String origin=GET_PROPERTY
$this: GET_VAR 'this@Delegate: Delegate' type=Delegate origin=null
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:
RETURN type=kotlin.Nothing from='FUN name:getValue visibility:public modality:FINAL <> ($this:<root>.Delegate, thisRef:kotlin.Any?, property:kotlin.Any?) returnType:kotlin.String flags:[]'
CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name:<get-value> visibility:public modality:FINAL <> ($this:<root>.Delegate) returnType:kotlin.String flags:[]' type=kotlin.String origin=GET_PROPERTY
$this: GET_VAR 'VALUE_PARAMETER name:<this> type:<root>.Delegate flags:[]' type=<root>.Delegate origin=null
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]
overridden:
FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:[]
VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[]
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[]
overridden:
FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[]
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:[]
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[]
overridden:
FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
CLASS CLASS name:DelegateProvider modality:FINAL visibility:public flags: superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:DelegateProvider flags:
CONSTRUCTOR visibility:public <> (value:kotlin.String) returnType:DelegateProvider flags:primary
VALUE_PARAMETER name:value index:0 type:kotlin.String flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[]
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:[]
CLASS CLASS name:DelegateProvider modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.DelegateProvider flags:[]
CONSTRUCTOR visibility:public <> (value:kotlin.String) returnType:<root>.DelegateProvider flags:[primary]
VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor='DelegateProvider'
PROPERTY name:value visibility:public modality:FINAL flags:val
FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.String visibility:public flags:final
DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:DelegateProvider modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]'
PROPERTY name:value visibility:public modality:FINAL flags:[val]
FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.String visibility:public flags:[final]
EXPRESSION_BODY
GET_VAR 'value-parameter value: String' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-value> visibility:public modality:FINAL <> ($this:DelegateProvider) returnType:kotlin.String flags:
correspondingProperty: PROPERTY name:value visibility:public modality:FINAL flags:val
$this: VALUE_PARAMETER name:<this> type:DelegateProvider flags:
GET_VAR 'VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[]' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-value> visibility:public modality:FINAL <> ($this:<root>.DelegateProvider) returnType:kotlin.String flags:[]
correspondingProperty: PROPERTY name:value visibility:public modality:FINAL flags:[val]
$this: VALUE_PARAMETER name:<this> type:<root>.DelegateProvider flags:[]
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-value>(): String'
GET_FIELD 'value: String' type=kotlin.String origin=null
receiver: GET_VAR 'this@DelegateProvider: DelegateProvider' type=DelegateProvider origin=null
FUN name:provideDelegate visibility:public modality:FINAL <> ($this:DelegateProvider, thisRef:kotlin.Any?, property:kotlin.Any?) returnType:Delegate flags:
$this: VALUE_PARAMETER name:<this> type:DelegateProvider flags:
VALUE_PARAMETER name:thisRef index:0 type:kotlin.Any? flags:
VALUE_PARAMETER name:property index:1 type:kotlin.Any? flags:
RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name:<get-value> visibility:public modality:FINAL <> ($this:<root>.DelegateProvider) returnType:kotlin.String flags:[]'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.String visibility:public flags:[final]' type=kotlin.String origin=null
receiver: GET_VAR 'VALUE_PARAMETER name:<this> type:<root>.DelegateProvider flags:[]' type=<root>.DelegateProvider origin=null
FUN name:provideDelegate visibility:public modality:FINAL <> ($this:<root>.DelegateProvider, thisRef:kotlin.Any?, property:kotlin.Any?) returnType:<root>.Delegate flags:[]
$this: VALUE_PARAMETER name:<this> type:<root>.DelegateProvider flags:[]
VALUE_PARAMETER name:thisRef index:0 type:kotlin.Any? flags:[]
VALUE_PARAMETER name:property index:1 type:kotlin.Any? flags:[]
BLOCK_BODY
RETURN type=kotlin.Nothing from='provideDelegate(Any?, Any?): Delegate'
CALL 'constructor Delegate(String)' type=Delegate origin=null
value: CALL '<get-value>(): String' type=kotlin.String origin=GET_PROPERTY
$this: GET_VAR 'this@DelegateProvider: DelegateProvider' type=DelegateProvider origin=null
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:
RETURN type=kotlin.Nothing from='FUN name:provideDelegate visibility:public modality:FINAL <> ($this:<root>.DelegateProvider, thisRef:kotlin.Any?, property:kotlin.Any?) returnType:<root>.Delegate flags:[]'
CALL 'CONSTRUCTOR visibility:public <> (value:kotlin.String) returnType:<root>.Delegate flags:[primary]' type=<root>.Delegate origin=null
value: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name:<get-value> visibility:public modality:FINAL <> ($this:<root>.DelegateProvider) returnType:kotlin.String flags:[]' type=kotlin.String origin=GET_PROPERTY
$this: GET_VAR 'VALUE_PARAMETER name:<this> type:<root>.DelegateProvider flags:[]' type=<root>.DelegateProvider origin=null
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]
overridden:
FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:[]
VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[]
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[]
overridden:
FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[]
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:[]
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[]
overridden:
FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
CLASS CLASS name:Host modality:FINAL visibility:public flags: superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:Host flags:
CONSTRUCTOR visibility:public <> () returnType:Host flags:primary
FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[]
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:[]
CLASS CLASS name:Host modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Host flags:[]
CONSTRUCTOR visibility:public <> () returnType:<root>.Host flags:[primary]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor='Host'
PROPERTY name:testMember visibility:public modality:FINAL flags:delegated,val
FIELD DELEGATE name:testMember$delegate type:Delegate visibility:private flags:final
DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Host modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]'
PROPERTY name:testMember visibility:public modality:FINAL flags:[delegated,val]
FIELD DELEGATE name:testMember$delegate type:<root>.Delegate visibility:private flags:[final]
EXPRESSION_BODY
CALL 'provideDelegate(Any?, Any?): Delegate' type=Delegate origin=null
$this: CALL 'constructor DelegateProvider(String)' type=DelegateProvider origin=null
CALL 'FUN name:provideDelegate visibility:public modality:FINAL <> ($this:<root>.DelegateProvider, thisRef:kotlin.Any?, property:kotlin.Any?) returnType:<root>.Delegate flags:[]' type=<root>.Delegate origin=null
$this: CALL 'CONSTRUCTOR visibility:public <> (value:kotlin.String) returnType:<root>.DelegateProvider flags:[primary]' type=<root>.DelegateProvider origin=null
value: CONST String type=kotlin.String value="OK"
thisRef: GET_VAR 'this@Host: Host' type=Host origin=null
property: PROPERTY_REFERENCE 'testMember: String' field=null getter='<get-testMember>(): String' setter=null type=kotlin.reflect.KProperty1<Host, kotlin.String> origin=PROPERTY_REFERENCE_FOR_DELEGATE
FUN DELEGATED_PROPERTY_ACCESSOR name:<get-testMember> visibility:public modality:FINAL <> ($this:Host) returnType:kotlin.String flags:
correspondingProperty: PROPERTY name:testMember visibility:public modality:FINAL flags:delegated,val
$this: VALUE_PARAMETER name:<this> type:Host flags:
thisRef: GET_VAR 'VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Host flags:[]' type=<root>.Host origin=null
property: PROPERTY_REFERENCE 'testMember: String' field=null getter='FUN DELEGATED_PROPERTY_ACCESSOR name:<get-testMember> visibility:public modality:FINAL <> ($this:<root>.Host) returnType:kotlin.String flags:[]' 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 flags:[]
correspondingProperty: PROPERTY name:testMember visibility:public modality:FINAL flags:[delegated,val]
$this: VALUE_PARAMETER name:<this> type:<root>.Host flags:[]
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-testMember>(): String'
CALL 'getValue(Any?, Any?): String' type=kotlin.String origin=null
$this: GET_FIELD '`testMember$delegate`: Delegate' type=Delegate origin=null
receiver: GET_VAR 'this@Host: Host' type=Host origin=null
thisRef: GET_VAR 'this@Host: Host' type=Host origin=null
property: PROPERTY_REFERENCE 'testMember: String' field=null getter='<get-testMember>(): String' setter=null type=kotlin.reflect.KProperty1<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 flags:
RETURN type=kotlin.Nothing from='FUN DELEGATED_PROPERTY_ACCESSOR name:<get-testMember> visibility:public modality:FINAL <> ($this:<root>.Host) returnType:kotlin.String flags:[]'
CALL 'FUN name:getValue visibility:public modality:FINAL <> ($this:<root>.Delegate, thisRef:kotlin.Any?, property:kotlin.Any?) returnType:kotlin.String flags:[]' type=kotlin.String origin=null
$this: GET_FIELD 'FIELD DELEGATE name:testMember$delegate type:<root>.Delegate visibility:private flags:[final]' type=<root>.Delegate origin=null
receiver: GET_VAR 'VALUE_PARAMETER name:<this> type:<root>.Host flags:[]' type=<root>.Host origin=null
thisRef: GET_VAR 'VALUE_PARAMETER name:<this> type:<root>.Host flags:[]' type=<root>.Host origin=null
property: PROPERTY_REFERENCE 'testMember: String' field=null getter='FUN DELEGATED_PROPERTY_ACCESSOR name:<get-testMember> visibility:public modality:FINAL <> ($this:<root>.Host) returnType:kotlin.String flags:[]' 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 flags:[]
overridden:
FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:[]
VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[]
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[]
overridden:
FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[]
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:[]
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[]
overridden:
FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[]
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:[]
@@ -1,102 +1,102 @@
FILE fqName:<root> fileName:/memberExtension.kt
CLASS OBJECT name:Host modality:FINAL visibility:public flags: superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:Host flags:
CONSTRUCTOR visibility:private <> () returnType:Host flags:primary
CLASS OBJECT name:Host modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Host flags:[]
CONSTRUCTOR visibility:private <> () returnType:<root>.Host flags:[primary]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor='Host'
CLASS CLASS name:StringDelegate modality:FINAL visibility:public flags: superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:Host.StringDelegate flags:
CONSTRUCTOR visibility:public <> (s:kotlin.String) returnType:Host.StringDelegate flags:primary
VALUE_PARAMETER name:s index:0 type:kotlin.String flags:
DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Host modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]'
CLASS CLASS name:StringDelegate modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Host.StringDelegate flags:[]
CONSTRUCTOR visibility:public <> (s:kotlin.String) returnType:<root>.Host.StringDelegate flags:[primary]
VALUE_PARAMETER name:s index:0 type:kotlin.String flags:[]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor='StringDelegate'
PROPERTY name:s visibility:public modality:FINAL flags:val
FIELD PROPERTY_BACKING_FIELD name:s type:kotlin.String visibility:public flags:final
DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:StringDelegate modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]'
PROPERTY name:s visibility:public modality:FINAL flags:[val]
FIELD PROPERTY_BACKING_FIELD name:s type:kotlin.String visibility:public flags:[final]
EXPRESSION_BODY
GET_VAR 'value-parameter s: String' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-s> visibility:public modality:FINAL <> ($this:Host.StringDelegate) returnType:kotlin.String flags:
correspondingProperty: PROPERTY name:s visibility:public modality:FINAL flags:val
$this: VALUE_PARAMETER name:<this> type:Host.StringDelegate flags:
GET_VAR 'VALUE_PARAMETER name:s index:0 type:kotlin.String flags:[]' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-s> visibility:public modality:FINAL <> ($this:<root>.Host.StringDelegate) returnType:kotlin.String flags:[]
correspondingProperty: PROPERTY name:s visibility:public modality:FINAL flags:[val]
$this: VALUE_PARAMETER name:<this> type:<root>.Host.StringDelegate flags:[]
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-s>(): String'
GET_FIELD 's: String' type=kotlin.String origin=null
receiver: GET_VAR 'this@StringDelegate: StringDelegate' type=Host.StringDelegate origin=null
FUN name:getValue visibility:public modality:FINAL <> ($this:Host.StringDelegate, receiver:kotlin.String, p:kotlin.Any) returnType:kotlin.String flags:
$this: VALUE_PARAMETER name:<this> type:Host.StringDelegate flags:
VALUE_PARAMETER name:receiver index:0 type:kotlin.String flags:
VALUE_PARAMETER name:p index:1 type:kotlin.Any flags:
RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name:<get-s> visibility:public modality:FINAL <> ($this:<root>.Host.StringDelegate) returnType:kotlin.String flags:[]'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:s type:kotlin.String visibility:public flags:[final]' type=kotlin.String origin=null
receiver: GET_VAR 'VALUE_PARAMETER name:<this> type:<root>.Host.StringDelegate flags:[]' type=<root>.Host.StringDelegate origin=null
FUN name:getValue visibility:public modality:FINAL <> ($this:<root>.Host.StringDelegate, receiver:kotlin.String, p:kotlin.Any) returnType:kotlin.String flags:[]
$this: VALUE_PARAMETER name:<this> type:<root>.Host.StringDelegate flags:[]
VALUE_PARAMETER name:receiver index:0 type:kotlin.String flags:[]
VALUE_PARAMETER name:p index:1 type:kotlin.Any flags:[]
BLOCK_BODY
RETURN type=kotlin.Nothing from='getValue(String, Any): String'
CALL 'plus(Any?): String' type=kotlin.String origin=PLUS
$this: GET_VAR 'value-parameter receiver: String' type=kotlin.String origin=null
other: CALL '<get-s>(): String' type=kotlin.String origin=GET_PROPERTY
$this: GET_VAR 'this@StringDelegate: StringDelegate' type=Host.StringDelegate origin=null
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:
RETURN type=kotlin.Nothing from='FUN name:getValue visibility:public modality:FINAL <> ($this:<root>.Host.StringDelegate, receiver:kotlin.String, p:kotlin.Any) returnType:kotlin.String flags:[]'
CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:plus visibility:public modality:FINAL <> ($this:kotlin.String, other:kotlin.Any?) returnType:kotlin.String flags:[]' type=kotlin.String origin=PLUS
$this: GET_VAR 'VALUE_PARAMETER name:receiver index:0 type:kotlin.String flags:[]' type=kotlin.String origin=null
other: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name:<get-s> visibility:public modality:FINAL <> ($this:<root>.Host.StringDelegate) returnType:kotlin.String flags:[]' type=kotlin.String origin=GET_PROPERTY
$this: GET_VAR 'VALUE_PARAMETER name:<this> type:<root>.Host.StringDelegate flags:[]' type=<root>.Host.StringDelegate origin=null
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]
overridden:
FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:[]
VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[]
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[]
overridden:
FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[]
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:[]
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[]
overridden:
FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
FUN name:provideDelegate visibility:public modality:FINAL <> ($this:Host, $receiver:kotlin.String, host:kotlin.Any?, p:kotlin.Any) returnType:Host.StringDelegate flags:
$this: VALUE_PARAMETER name:<this> type:Host flags:
$receiver: VALUE_PARAMETER name:<this> type:kotlin.String flags:
VALUE_PARAMETER name:host index:0 type:kotlin.Any? flags:
VALUE_PARAMETER name:p index:1 type:kotlin.Any flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[]
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:[]
FUN name:provideDelegate visibility:public modality:FINAL <> ($this:<root>.Host, $receiver:kotlin.String, host:kotlin.Any?, p:kotlin.Any) returnType:<root>.Host.StringDelegate flags:[]
$this: VALUE_PARAMETER name:<this> type:<root>.Host flags:[]
$receiver: VALUE_PARAMETER name:<this> type:kotlin.String flags:[]
VALUE_PARAMETER name:host index:0 type:kotlin.Any? flags:[]
VALUE_PARAMETER name:p index:1 type:kotlin.Any flags:[]
BLOCK_BODY
RETURN type=kotlin.Nothing from='provideDelegate(Any?, Any) on String: Host.StringDelegate'
CALL 'constructor StringDelegate(String)' type=Host.StringDelegate origin=null
s: GET_VAR 'this@provideDelegate: String' type=kotlin.String origin=null
PROPERTY name:plusK visibility:public modality:FINAL flags:delegated,val
FIELD DELEGATE name:plusK$delegate type:Host.StringDelegate visibility:private flags:final
RETURN type=kotlin.Nothing from='FUN name:provideDelegate visibility:public modality:FINAL <> ($this:<root>.Host, $receiver:kotlin.String, host:kotlin.Any?, p:kotlin.Any) returnType:<root>.Host.StringDelegate flags:[]'
CALL 'CONSTRUCTOR visibility:public <> (s:kotlin.String) returnType:<root>.Host.StringDelegate flags:[primary]' type=<root>.Host.StringDelegate origin=null
s: GET_VAR 'VALUE_PARAMETER name:<this> type:kotlin.String flags:[]' type=kotlin.String origin=null
PROPERTY name:plusK visibility:public modality:FINAL flags:[delegated,val]
FIELD DELEGATE name:plusK$delegate type:<root>.Host.StringDelegate visibility:private flags:[final]
EXPRESSION_BODY
CALL 'provideDelegate(Any?, Any) on String: Host.StringDelegate' type=Host.StringDelegate origin=null
$this: GET_VAR 'this@Host: Host' type=Host origin=null
CALL 'FUN name:provideDelegate visibility:public modality:FINAL <> ($this:<root>.Host, $receiver:kotlin.String, host:kotlin.Any?, p:kotlin.Any) returnType:<root>.Host.StringDelegate flags:[]' type=<root>.Host.StringDelegate origin=null
$this: GET_VAR 'VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Host flags:[]' type=<root>.Host origin=null
$receiver: CONST String type=kotlin.String value="K"
host: GET_VAR 'this@Host: Host' type=Host origin=null
p: PROPERTY_REFERENCE 'plusK: String on String' field=null getter='<get-plusK>() on String: String' setter=null type=kotlin.reflect.KProperty2<kotlin.String, Host, kotlin.String> origin=PROPERTY_REFERENCE_FOR_DELEGATE
FUN DELEGATED_PROPERTY_ACCESSOR name:<get-plusK> visibility:public modality:FINAL <> ($this:Host, $receiver:kotlin.String) returnType:kotlin.String flags:
correspondingProperty: PROPERTY name:plusK visibility:public modality:FINAL flags:delegated,val
$this: VALUE_PARAMETER name:<this> type:Host flags:
$receiver: VALUE_PARAMETER name:<this> type:kotlin.String flags:
host: GET_VAR 'VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Host flags:[]' type=<root>.Host origin=null
p: PROPERTY_REFERENCE 'plusK: String on String' field=null getter='FUN DELEGATED_PROPERTY_ACCESSOR name:<get-plusK> visibility:public modality:FINAL <> ($this:<root>.Host, $receiver:kotlin.String) returnType:kotlin.String flags:[]' 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 flags:[]
correspondingProperty: PROPERTY name:plusK visibility:public modality:FINAL flags:[delegated,val]
$this: VALUE_PARAMETER name:<this> type:<root>.Host flags:[]
$receiver: VALUE_PARAMETER name:<this> type:kotlin.String flags:[]
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-plusK>() on String: String'
CALL 'getValue(String, Any): String' type=kotlin.String origin=null
$this: GET_FIELD '`plusK$delegate`: Host.StringDelegate' type=Host.StringDelegate origin=null
receiver: GET_VAR 'this@Host: Host' type=Host origin=null
receiver: GET_VAR 'this@plusK: String' type=kotlin.String origin=null
p: PROPERTY_REFERENCE 'plusK: String on String' field=null getter='<get-plusK>() on String: String' setter=null type=kotlin.reflect.KProperty2<kotlin.String, Host, kotlin.String> origin=PROPERTY_REFERENCE_FOR_DELEGATE
PROPERTY name:ok visibility:public modality:FINAL flags:val
FIELD PROPERTY_BACKING_FIELD name:ok type:kotlin.String visibility:public flags:final
RETURN type=kotlin.Nothing from='FUN DELEGATED_PROPERTY_ACCESSOR name:<get-plusK> visibility:public modality:FINAL <> ($this:<root>.Host, $receiver:kotlin.String) returnType:kotlin.String flags:[]'
CALL 'FUN name:getValue visibility:public modality:FINAL <> ($this:<root>.Host.StringDelegate, receiver:kotlin.String, p:kotlin.Any) returnType:kotlin.String flags:[]' type=kotlin.String origin=null
$this: GET_FIELD 'FIELD DELEGATE name:plusK$delegate type:<root>.Host.StringDelegate visibility:private flags:[final]' type=<root>.Host.StringDelegate origin=null
receiver: GET_VAR 'VALUE_PARAMETER name:<this> type:<root>.Host flags:[]' type=<root>.Host origin=null
receiver: GET_VAR 'VALUE_PARAMETER name:<this> type:kotlin.String flags:[]' type=kotlin.String origin=null
p: PROPERTY_REFERENCE 'plusK: String on String' field=null getter='FUN DELEGATED_PROPERTY_ACCESSOR name:<get-plusK> visibility:public modality:FINAL <> ($this:<root>.Host, $receiver:kotlin.String) returnType:kotlin.String flags:[]' setter=null type=kotlin.reflect.KProperty2<kotlin.String, <root>.Host, kotlin.String> origin=PROPERTY_REFERENCE_FOR_DELEGATE
PROPERTY name:ok visibility:public modality:FINAL flags:[val]
FIELD PROPERTY_BACKING_FIELD name:ok type:kotlin.String visibility:public flags:[final]
EXPRESSION_BODY
CALL '<get-plusK>() on String: String' type=kotlin.String origin=GET_PROPERTY
$this: GET_VAR 'this@Host: Host' type=Host origin=null
CALL 'FUN DELEGATED_PROPERTY_ACCESSOR name:<get-plusK> visibility:public modality:FINAL <> ($this:<root>.Host, $receiver:kotlin.String) returnType:kotlin.String flags:[]' type=kotlin.String origin=GET_PROPERTY
$this: GET_VAR 'VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Host flags:[]' type=<root>.Host origin=null
$receiver: CONST String type=kotlin.String value="O"
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-ok> visibility:public modality:FINAL <> ($this:Host) returnType:kotlin.String flags:
correspondingProperty: PROPERTY name:ok visibility:public modality:FINAL flags:val
$this: VALUE_PARAMETER name:<this> type:Host flags:
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-ok> visibility:public modality:FINAL <> ($this:<root>.Host) returnType:kotlin.String flags:[]
correspondingProperty: PROPERTY name:ok visibility:public modality:FINAL flags:[val]
$this: VALUE_PARAMETER name:<this> type:<root>.Host flags:[]
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-ok>(): String'
GET_FIELD 'ok: String' type=kotlin.String origin=null
receiver: GET_VAR 'this@Host: Host' type=Host origin=null
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:
RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name:<get-ok> visibility:public modality:FINAL <> ($this:<root>.Host) returnType:kotlin.String flags:[]'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:ok type:kotlin.String visibility:public flags:[final]' type=kotlin.String origin=null
receiver: GET_VAR 'VALUE_PARAMETER name:<this> type:<root>.Host flags:[]' type=<root>.Host origin=null
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]
overridden:
FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:[]
VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[]
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[]
overridden:
FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[]
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:[]
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[]
overridden:
FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[]
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:[]
@@ -1,97 +1,96 @@
FILE fqName:<root> fileName:/topLevel.kt
CLASS CLASS name:Delegate modality:FINAL visibility:public flags: superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:Delegate flags:
CONSTRUCTOR visibility:public <> (value:kotlin.String) returnType:Delegate flags:primary
VALUE_PARAMETER name:value index:0 type:kotlin.String flags:
CLASS CLASS name:Delegate modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Delegate flags:[]
CONSTRUCTOR visibility:public <> (value:kotlin.String) returnType:<root>.Delegate flags:[primary]
VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor='Delegate'
PROPERTY name:value visibility:public modality:FINAL flags:val
FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.String visibility:public flags:final
DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Delegate modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]'
PROPERTY name:value visibility:public modality:FINAL flags:[val]
FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.String visibility:public flags:[final]
EXPRESSION_BODY
GET_VAR 'value-parameter value: String' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-value> visibility:public modality:FINAL <> ($this:Delegate) returnType:kotlin.String flags:
correspondingProperty: PROPERTY name:value visibility:public modality:FINAL flags:val
$this: VALUE_PARAMETER name:<this> type:Delegate flags:
GET_VAR 'VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[]' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-value> visibility:public modality:FINAL <> ($this:<root>.Delegate) returnType:kotlin.String flags:[]
correspondingProperty: PROPERTY name:value visibility:public modality:FINAL flags:[val]
$this: VALUE_PARAMETER name:<this> type:<root>.Delegate flags:[]
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-value>(): String'
GET_FIELD 'value: String' type=kotlin.String origin=null
receiver: GET_VAR 'this@Delegate: Delegate' type=Delegate origin=null
FUN name:getValue visibility:public modality:FINAL <> ($this:Delegate, thisRef:kotlin.Any?, property:kotlin.Any?) returnType:kotlin.String flags:
$this: VALUE_PARAMETER name:<this> type:Delegate flags:
VALUE_PARAMETER name:thisRef index:0 type:kotlin.Any? flags:
VALUE_PARAMETER name:property index:1 type:kotlin.Any? flags:
RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name:<get-value> visibility:public modality:FINAL <> ($this:<root>.Delegate) returnType:kotlin.String flags:[]'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.String visibility:public flags:[final]' type=kotlin.String origin=null
receiver: GET_VAR 'VALUE_PARAMETER name:<this> type:<root>.Delegate flags:[]' type=<root>.Delegate origin=null
FUN name:getValue visibility:public modality:FINAL <> ($this:<root>.Delegate, thisRef:kotlin.Any?, property:kotlin.Any?) returnType:kotlin.String flags:[]
$this: VALUE_PARAMETER name:<this> type:<root>.Delegate flags:[]
VALUE_PARAMETER name:thisRef index:0 type:kotlin.Any? flags:[]
VALUE_PARAMETER name:property index:1 type:kotlin.Any? flags:[]
BLOCK_BODY
RETURN type=kotlin.Nothing from='getValue(Any?, Any?): String'
CALL '<get-value>(): String' type=kotlin.String origin=GET_PROPERTY
$this: GET_VAR 'this@Delegate: Delegate' type=Delegate origin=null
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:
RETURN type=kotlin.Nothing from='FUN name:getValue visibility:public modality:FINAL <> ($this:<root>.Delegate, thisRef:kotlin.Any?, property:kotlin.Any?) returnType:kotlin.String flags:[]'
CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name:<get-value> visibility:public modality:FINAL <> ($this:<root>.Delegate) returnType:kotlin.String flags:[]' type=kotlin.String origin=GET_PROPERTY
$this: GET_VAR 'VALUE_PARAMETER name:<this> type:<root>.Delegate flags:[]' type=<root>.Delegate origin=null
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]
overridden:
FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:[]
VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[]
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[]
overridden:
FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[]
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:[]
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[]
overridden:
FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
CLASS CLASS name:DelegateProvider modality:FINAL visibility:public flags: superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:DelegateProvider flags:
CONSTRUCTOR visibility:public <> (value:kotlin.String) returnType:DelegateProvider flags:primary
VALUE_PARAMETER name:value index:0 type:kotlin.String flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[]
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:[]
CLASS CLASS name:DelegateProvider modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.DelegateProvider flags:[]
CONSTRUCTOR visibility:public <> (value:kotlin.String) returnType:<root>.DelegateProvider flags:[primary]
VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor='DelegateProvider'
PROPERTY name:value visibility:public modality:FINAL flags:val
FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.String visibility:public flags:final
DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:DelegateProvider modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]'
PROPERTY name:value visibility:public modality:FINAL flags:[val]
FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.String visibility:public flags:[final]
EXPRESSION_BODY
GET_VAR 'value-parameter value: String' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-value> visibility:public modality:FINAL <> ($this:DelegateProvider) returnType:kotlin.String flags:
correspondingProperty: PROPERTY name:value visibility:public modality:FINAL flags:val
$this: VALUE_PARAMETER name:<this> type:DelegateProvider flags:
GET_VAR 'VALUE_PARAMETER name:value index:0 type:kotlin.String flags:[]' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-value> visibility:public modality:FINAL <> ($this:<root>.DelegateProvider) returnType:kotlin.String flags:[]
correspondingProperty: PROPERTY name:value visibility:public modality:FINAL flags:[val]
$this: VALUE_PARAMETER name:<this> type:<root>.DelegateProvider flags:[]
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-value>(): String'
GET_FIELD 'value: String' type=kotlin.String origin=null
receiver: GET_VAR 'this@DelegateProvider: DelegateProvider' type=DelegateProvider origin=null
FUN name:provideDelegate visibility:public modality:FINAL <> ($this:DelegateProvider, thisRef:kotlin.Any?, property:kotlin.Any?) returnType:Delegate flags:
$this: VALUE_PARAMETER name:<this> type:DelegateProvider flags:
VALUE_PARAMETER name:thisRef index:0 type:kotlin.Any? flags:
VALUE_PARAMETER name:property index:1 type:kotlin.Any? flags:
RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name:<get-value> visibility:public modality:FINAL <> ($this:<root>.DelegateProvider) returnType:kotlin.String flags:[]'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.String visibility:public flags:[final]' type=kotlin.String origin=null
receiver: GET_VAR 'VALUE_PARAMETER name:<this> type:<root>.DelegateProvider flags:[]' type=<root>.DelegateProvider origin=null
FUN name:provideDelegate visibility:public modality:FINAL <> ($this:<root>.DelegateProvider, thisRef:kotlin.Any?, property:kotlin.Any?) returnType:<root>.Delegate flags:[]
$this: VALUE_PARAMETER name:<this> type:<root>.DelegateProvider flags:[]
VALUE_PARAMETER name:thisRef index:0 type:kotlin.Any? flags:[]
VALUE_PARAMETER name:property index:1 type:kotlin.Any? flags:[]
BLOCK_BODY
RETURN type=kotlin.Nothing from='provideDelegate(Any?, Any?): Delegate'
CALL 'constructor Delegate(String)' type=Delegate origin=null
value: CALL '<get-value>(): String' type=kotlin.String origin=GET_PROPERTY
$this: GET_VAR 'this@DelegateProvider: DelegateProvider' type=DelegateProvider origin=null
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:
RETURN type=kotlin.Nothing from='FUN name:provideDelegate visibility:public modality:FINAL <> ($this:<root>.DelegateProvider, thisRef:kotlin.Any?, property:kotlin.Any?) returnType:<root>.Delegate flags:[]'
CALL 'CONSTRUCTOR visibility:public <> (value:kotlin.String) returnType:<root>.Delegate flags:[primary]' type=<root>.Delegate origin=null
value: CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name:<get-value> visibility:public modality:FINAL <> ($this:<root>.DelegateProvider) returnType:kotlin.String flags:[]' type=kotlin.String origin=GET_PROPERTY
$this: GET_VAR 'VALUE_PARAMETER name:<this> type:<root>.DelegateProvider flags:[]' type=<root>.DelegateProvider origin=null
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]
overridden:
FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:[]
VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[]
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[]
overridden:
FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[]
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:[]
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[]
overridden:
FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
PROPERTY name:testTopLevel visibility:public modality:FINAL flags:delegated,val
FIELD DELEGATE name:testTopLevel$delegate type:Delegate visibility:private flags:final,static
FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[]
$this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:[]
PROPERTY name:testTopLevel visibility:public modality:FINAL flags:[delegated,val]
FIELD DELEGATE name:testTopLevel$delegate type:<root>.Delegate visibility:private flags:[final,static]
EXPRESSION_BODY
CALL 'provideDelegate(Any?, Any?): Delegate' type=Delegate origin=null
$this: CALL 'constructor DelegateProvider(String)' type=DelegateProvider origin=null
CALL 'FUN name:provideDelegate visibility:public modality:FINAL <> ($this:<root>.DelegateProvider, thisRef:kotlin.Any?, property:kotlin.Any?) returnType:<root>.Delegate flags:[]' type=<root>.Delegate origin=null
$this: CALL 'CONSTRUCTOR visibility:public <> (value:kotlin.String) returnType:<root>.DelegateProvider flags:[primary]' type=<root>.DelegateProvider origin=null
value: CONST String type=kotlin.String value="OK"
thisRef: CONST Null type=kotlin.Nothing? value=null
property: PROPERTY_REFERENCE 'testTopLevel: String' field=null getter='<get-testTopLevel>(): String' 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 flags:
correspondingProperty: PROPERTY name:testTopLevel visibility:public modality:FINAL flags:delegated,val
property: PROPERTY_REFERENCE 'testTopLevel: String' field=null getter='FUN DELEGATED_PROPERTY_ACCESSOR name:<get-testTopLevel> visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' 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 flags:[]
correspondingProperty: PROPERTY name:testTopLevel visibility:public modality:FINAL flags:[delegated,val]
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-testTopLevel>(): String'
CALL 'getValue(Any?, Any?): String' type=kotlin.String origin=null
$this: GET_FIELD '`testTopLevel$delegate`: Delegate' type=Delegate origin=null
RETURN type=kotlin.Nothing from='FUN DELEGATED_PROPERTY_ACCESSOR name:<get-testTopLevel> visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]'
CALL 'FUN name:getValue visibility:public modality:FINAL <> ($this:<root>.Delegate, thisRef:kotlin.Any?, property:kotlin.Any?) returnType:kotlin.String flags:[]' type=kotlin.String origin=null
$this: GET_FIELD 'FIELD DELEGATE name:testTopLevel$delegate type:<root>.Delegate visibility:private flags:[final,static]' type=<root>.Delegate origin=null
thisRef: CONST Null type=kotlin.Nothing? value=null
property: PROPERTY_REFERENCE 'testTopLevel: String' field=null getter='<get-testTopLevel>(): String' setter=null type=kotlin.reflect.KProperty0<kotlin.String> origin=PROPERTY_REFERENCE_FOR_DELEGATE
property: PROPERTY_REFERENCE 'testTopLevel: String' field=null getter='FUN DELEGATED_PROPERTY_ACCESSOR name:<get-testTopLevel> visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]' setter=null type=kotlin.reflect.KProperty0<kotlin.String> origin=PROPERTY_REFERENCE_FOR_DELEGATE