FILE fqName: fileName:/localDelegatedPropertyWithSuspendOperators.kt CLASS CLASS name:A modality:FINAL visibility:public flags: $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:A flags: CONSTRUCTOR visibility:public <> () returnType:A flags: BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' INSTANCE_INITIALIZER_CALL classDescriptor='A' PROPERTY name:z type:kotlin.Int visibility:public modality:FINAL flags:var FIELD PROPERTY_BACKING_FIELD name:z type:kotlin.Int visibility:public EXPRESSION_BODY CONST Int type=kotlin.Int value=42 FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:A) returnType:Int flags: $this: VALUE_PARAMETER name: type:A flags: BLOCK_BODY RETURN type=kotlin.Nothing from='(): Int' GET_FIELD 'z: Int' type=kotlin.Int origin=null receiver: GET_VAR 'this@A: A' type=A origin=null FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:A, :kotlin.Int) returnType:Unit flags: $this: VALUE_PARAMETER name: type:A flags: VALUE_PARAMETER name: index:0 type:kotlin.Int flags: BLOCK_BODY SET_FIELD 'z: Int' type=kotlin.Unit origin=null receiver: GET_VAR 'this@A: A' type=A origin=null value: GET_VAR 'value-parameter : Int' type=kotlin.Int origin=null FUN name:getValue visibility:public modality:FINAL <> ($this:A, thisRef:kotlin.Any?, property:kotlin.reflect.KProperty<*>) returnType:Int flags:suspend $this: VALUE_PARAMETER name: type:A flags: VALUE_PARAMETER name:thisRef index:0 type:kotlin.Any? flags: VALUE_PARAMETER name:property index:1 type:kotlin.reflect.KProperty<*> flags: BLOCK_BODY RETURN type=kotlin.Nothing from='getValue(Any?, KProperty<*>): Int' CALL '(): Int' type=kotlin.Int origin=GET_PROPERTY $this: GET_VAR 'this@A: A' type=A origin=null FUN name:setValue visibility:public modality:FINAL <> ($this:A, thisRef:kotlin.Any?, property:kotlin.reflect.KProperty<*>, value:kotlin.Int) returnType:Unit flags:suspend $this: VALUE_PARAMETER name: type:A flags: VALUE_PARAMETER name:thisRef index:0 type:kotlin.Any? flags: VALUE_PARAMETER name:property index:1 type:kotlin.reflect.KProperty<*> flags: VALUE_PARAMETER name:value index:2 type:kotlin.Int flags: BLOCK_BODY RETURN type=kotlin.Nothing from='setValue(Any?, KProperty<*>, Int): Unit' CALL 'suspendCoroutineOrReturn(crossinline (Continuation) -> Any?): Unit' type=kotlin.Unit origin=null : Unit block: BLOCK type=(kotlin.coroutines.experimental.Continuation) -> kotlin.Any origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (x:kotlin.coroutines.experimental.Continuation) returnType:Any flags: VALUE_PARAMETER name:x index:0 type:kotlin.coroutines.experimental.Continuation flags: BLOCK_BODY CALL '(Int): Unit' type=kotlin.Unit origin=EQ $this: GET_VAR 'this@A: A' type=A origin=null : GET_VAR 'value-parameter value: Int' type=kotlin.Int origin=null CALL 'resume(Unit): Unit' type=kotlin.Unit origin=null $this: GET_VAR 'value-parameter x: Continuation' type=kotlin.coroutines.experimental.Continuation origin=null value: GET_OBJECT 'Unit' type=kotlin.Unit RETURN type=kotlin.Nothing from='(Continuation): Any' CALL '(): Any' type=kotlin.Any origin=GET_PROPERTY FUNCTION_REFERENCE '(Continuation): Any' type=(kotlin.coroutines.experimental.Continuation) -> kotlin.Any origin=LAMBDA FUN name:provideDelegate visibility:public modality:FINAL <> ($this:A, host:kotlin.Any?, p:kotlin.Any) returnType:A flags:suspend $this: VALUE_PARAMETER name: type:A 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): A' CALL 'suspendCoroutineOrReturn(crossinline (Continuation) -> Any?): A' type=A origin=null : A block: BLOCK type=(kotlin.coroutines.experimental.Continuation) -> kotlin.Any origin=LAMBDA FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (x:kotlin.coroutines.experimental.Continuation) returnType:Any flags: VALUE_PARAMETER name:x index:0 type:kotlin.coroutines.experimental.Continuation flags: BLOCK_BODY CALL 'resume(A): Unit' type=kotlin.Unit origin=null $this: GET_VAR 'value-parameter x: Continuation' type=kotlin.coroutines.experimental.Continuation origin=null value: GET_VAR 'this@A: A' type=A origin=null RETURN type=kotlin.Nothing from='(Continuation): Any' CALL '(): Any' type=kotlin.Any origin=GET_PROPERTY FUNCTION_REFERENCE '(Continuation): Any' type=(kotlin.coroutines.experimental.Continuation) -> kotlin.Any origin=LAMBDA FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags: $this: VALUE_PARAMETER name: 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:Int flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags: $this: VALUE_PARAMETER name: type:kotlin.Any flags: FUN name:test visibility:public modality:FINAL <> () returnType:Unit flags:suspend BLOCK_BODY LOCAL_DELEGATED_PROPERTY name:testVal type:kotlin.Int flags:val VAR DELEGATE name:testVal$delegate type:A flags:val CALL 'provideDelegate(Any?, Any): A' type=A origin=null $this: CALL 'constructor A()' type=A origin=null host: CONST Null type=kotlin.Nothing? value=null p: LOCAL_DELEGATED_PROPERTY_REFERENCE 'testVal: Int' delegate='`testVal$delegate`: A' getter='(): Int' setter=null type=kotlin.reflect.KProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:local modality:FINAL <> () returnType:Int flags:suspend BLOCK_BODY RETURN type=kotlin.Nothing from='(): Int' CALL 'getValue(Any?, KProperty<*>): Int' type=kotlin.Int origin=null $this: GET_VAR '`testVal$delegate`: A' type=A origin=null thisRef: CONST Null type=kotlin.Nothing? value=null property: LOCAL_DELEGATED_PROPERTY_REFERENCE 'testVal: Int' delegate='`testVal$delegate`: A' getter='(): Int' setter=null type=kotlin.reflect.KProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE LOCAL_DELEGATED_PROPERTY name:testVar type:kotlin.Int flags:var VAR DELEGATE name:testVar$delegate type:A flags:val CALL 'provideDelegate(Any?, Any): A' type=A origin=null $this: CALL 'constructor A()' type=A origin=null host: CONST Null type=kotlin.Nothing? value=null p: LOCAL_DELEGATED_PROPERTY_REFERENCE 'testVar: Int' delegate='`testVar$delegate`: A' getter='(): Int' setter='(Int): Unit' type=kotlin.reflect.KMutableProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:local modality:FINAL <> () returnType:Int flags:suspend BLOCK_BODY RETURN type=kotlin.Nothing from='(): Int' CALL 'getValue(Any?, KProperty<*>): Int' type=kotlin.Int origin=null $this: GET_VAR '`testVar$delegate`: A' type=A origin=null thisRef: CONST Null type=kotlin.Nothing? value=null property: LOCAL_DELEGATED_PROPERTY_REFERENCE 'testVar: Int' delegate='`testVar$delegate`: A' getter='(): Int' setter='(Int): Unit' type=kotlin.reflect.KMutableProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE FUN DELEGATED_PROPERTY_ACCESSOR name: visibility:local modality:FINAL <> (value:kotlin.Int) returnType:Unit flags:suspend VALUE_PARAMETER name:value index:0 type:kotlin.Int flags: BLOCK_BODY RETURN type=kotlin.Nothing from='(Int): Unit' CALL 'setValue(Any?, KProperty<*>, Int): Unit' type=kotlin.Unit origin=null $this: GET_VAR '`testVar$delegate`: A' type=A origin=null thisRef: CONST Null type=kotlin.Nothing? value=null property: LOCAL_DELEGATED_PROPERTY_REFERENCE 'testVar: Int' delegate='`testVar$delegate`: A' getter='(): Int' setter='(Int): Unit' type=kotlin.reflect.KMutableProperty0 origin=PROPERTY_REFERENCE_FOR_DELEGATE value: GET_VAR 'value-parameter value: Int' type=kotlin.Int origin=null