FILE fqName:<root> fileName:/delegatedProperties.kt
  PROPERTY name:test1 visibility:public modality:FINAL flags:[delegated,val]
    FIELD DELEGATE name:test1$delegate type:kotlin.Lazy<kotlin.Int> visibility:private flags:[final,static]
      EXPRESSION_BODY
        CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:lazy visibility:public modality:FINAL <T> (initializer:kotlin.Function0<kotlin.lazy.T>) returnType:kotlin.Lazy<kotlin.lazy.T> flags:[]' type=kotlin.Lazy<kotlin.Int> origin=null
          <T>: kotlin.Int
          initializer: BLOCK type=kotlin.Function0<kotlin.Int> origin=LAMBDA
            FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> () returnType:kotlin.Int flags:[]
              BLOCK_BODY
                RETURN type=kotlin.Nothing from='FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> () returnType:kotlin.Int flags:[]'
                  CONST Int type=kotlin.Int value=42
            FUNCTION_REFERENCE 'FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> () returnType:kotlin.Int flags:[]' type=kotlin.Function0<kotlin.Int> origin=LAMBDA
    FUN DELEGATED_PROPERTY_ACCESSOR name:<get-test1> visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]
      correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL flags:[delegated,val]
      BLOCK_BODY
        RETURN type=kotlin.Nothing from='FUN DELEGATED_PROPERTY_ACCESSOR name:<get-test1> visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]'
          CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:getValue visibility:public modality:FINAL <T> ($receiver:kotlin.Lazy<kotlin.getValue.T>, thisRef:kotlin.Any?, property:kotlin.reflect.KProperty<*>) returnType:kotlin.getValue.T flags:[inline]' type=kotlin.Int origin=null
            <T>: kotlin.Int
            $receiver: GET_FIELD 'FIELD DELEGATE name:test1$delegate type:kotlin.Lazy<kotlin.Int> visibility:private flags:[final,static]' type=kotlin.Lazy<kotlin.Int> origin=null
            thisRef: CONST Null type=kotlin.Nothing? value=null
            property: PROPERTY_REFERENCE 'test1: Int' field=null getter='FUN DELEGATED_PROPERTY_ACCESSOR name:<get-test1> visibility:public modality:FINAL <> () returnType:kotlin.Int flags:[]' setter=null type=kotlin.reflect.KProperty0<kotlin.Int> origin=PROPERTY_REFERENCE_FOR_DELEGATE
  CLASS CLASS name:C modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]
    $this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.C flags:[]
    CONSTRUCTOR visibility:public <> (map:kotlin.collections.MutableMap<kotlin.String, kotlin.Any>) returnType:<root>.C flags:[primary]
      VALUE_PARAMETER name:map index:0 type:kotlin.collections.MutableMap<kotlin.String, kotlin.Any> flags:[]
      BLOCK_BODY
        DELEGATING_CONSTRUCTOR_CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:[primary]'
        INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]'
    PROPERTY name:map visibility:public modality:FINAL flags:[val]
      FIELD PROPERTY_BACKING_FIELD name:map type:kotlin.collections.MutableMap<kotlin.String, kotlin.Any> visibility:public flags:[final]
        EXPRESSION_BODY
          GET_VAR 'VALUE_PARAMETER name:map index:0 type:kotlin.collections.MutableMap<kotlin.String, kotlin.Any> flags:[]' type=kotlin.collections.MutableMap<kotlin.String, kotlin.Any> origin=INITIALIZE_PROPERTY_FROM_PARAMETER
      FUN DEFAULT_PROPERTY_ACCESSOR name:<get-map> visibility:public modality:FINAL <> ($this:<root>.C) returnType:kotlin.collections.MutableMap<kotlin.String, kotlin.Any> flags:[]
        correspondingProperty: PROPERTY name:map visibility:public modality:FINAL flags:[val]
        $this: VALUE_PARAMETER name:<this> type:<root>.C flags:[]
        BLOCK_BODY
          RETURN type=kotlin.Nothing from='FUN DEFAULT_PROPERTY_ACCESSOR name:<get-map> visibility:public modality:FINAL <> ($this:<root>.C) returnType:kotlin.collections.MutableMap<kotlin.String, kotlin.Any> flags:[]'
            GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:map type:kotlin.collections.MutableMap<kotlin.String, kotlin.Any> visibility:public flags:[final]' type=kotlin.collections.MutableMap<kotlin.String, kotlin.Any> origin=null
              receiver: GET_VAR 'VALUE_PARAMETER name:<this> type:<root>.C flags:[]' type=<root>.C origin=null
    PROPERTY name:test2 visibility:public modality:FINAL flags:[delegated,val]
      FIELD DELEGATE name:test2$delegate type:kotlin.Lazy<kotlin.Int> visibility:private flags:[final]
        EXPRESSION_BODY
          CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:lazy visibility:public modality:FINAL <T> (initializer:kotlin.Function0<kotlin.lazy.T>) returnType:kotlin.Lazy<kotlin.lazy.T> flags:[]' type=kotlin.Lazy<kotlin.Int> origin=null
            <T>: kotlin.Int
            initializer: BLOCK type=kotlin.Function0<kotlin.Int> origin=LAMBDA
              FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> () returnType:kotlin.Int flags:[]
                BLOCK_BODY
                  RETURN type=kotlin.Nothing from='FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> () returnType:kotlin.Int flags:[]'
                    CONST Int type=kotlin.Int value=42
              FUNCTION_REFERENCE 'FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> () returnType:kotlin.Int flags:[]' type=kotlin.Function0<kotlin.Int> origin=LAMBDA
      FUN DELEGATED_PROPERTY_ACCESSOR name:<get-test2> visibility:public modality:FINAL <> ($this:<root>.C) returnType:kotlin.Int flags:[]
        correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL flags:[delegated,val]
        $this: VALUE_PARAMETER name:<this> type:<root>.C flags:[]
        BLOCK_BODY
          RETURN type=kotlin.Nothing from='FUN DELEGATED_PROPERTY_ACCESSOR name:<get-test2> visibility:public modality:FINAL <> ($this:<root>.C) returnType:kotlin.Int flags:[]'
            CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:getValue visibility:public modality:FINAL <T> ($receiver:kotlin.Lazy<kotlin.getValue.T>, thisRef:kotlin.Any?, property:kotlin.reflect.KProperty<*>) returnType:kotlin.getValue.T flags:[inline]' type=kotlin.Int origin=null
              <T>: kotlin.Int
              $receiver: GET_FIELD 'FIELD DELEGATE name:test2$delegate type:kotlin.Lazy<kotlin.Int> visibility:private flags:[final]' type=kotlin.Lazy<kotlin.Int> origin=null
                receiver: GET_VAR 'VALUE_PARAMETER name:<this> type:<root>.C flags:[]' type=<root>.C origin=null
              thisRef: GET_VAR 'VALUE_PARAMETER name:<this> type:<root>.C flags:[]' type=<root>.C origin=null
              property: PROPERTY_REFERENCE 'test2: Int' field=null getter='FUN DELEGATED_PROPERTY_ACCESSOR name:<get-test2> visibility:public modality:FINAL <> ($this:<root>.C) returnType:kotlin.Int flags:[]' setter=null type=kotlin.reflect.KProperty1<<root>.C, kotlin.Int> origin=PROPERTY_REFERENCE_FOR_DELEGATE
    PROPERTY name:test3 visibility:public modality:FINAL flags:[delegated,var]
      FIELD DELEGATE name:test3$delegate type:kotlin.collections.MutableMap<kotlin.String, kotlin.Any> visibility:private flags:[final]
        EXPRESSION_BODY
          CALL 'FUN DEFAULT_PROPERTY_ACCESSOR name:<get-map> visibility:public modality:FINAL <> ($this:<root>.C) returnType:kotlin.collections.MutableMap<kotlin.String, kotlin.Any> flags:[]' type=kotlin.collections.MutableMap<kotlin.String, kotlin.Any> origin=GET_PROPERTY
            $this: GET_VAR 'VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.C flags:[]' type=<root>.C origin=null
      FUN DELEGATED_PROPERTY_ACCESSOR name:<get-test3> visibility:public modality:FINAL <> ($this:<root>.C) returnType:kotlin.Any flags:[]
        correspondingProperty: PROPERTY name:test3 visibility:public modality:FINAL flags:[delegated,var]
        $this: VALUE_PARAMETER name:<this> type:<root>.C flags:[]
        BLOCK_BODY
          RETURN type=kotlin.Nothing from='FUN DELEGATED_PROPERTY_ACCESSOR name:<get-test3> visibility:public modality:FINAL <> ($this:<root>.C) returnType:kotlin.Any flags:[]'
            CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:getValue visibility:public modality:FINAL <V, V1> ($receiver:kotlin.collections.MutableMap<in kotlin.String, out @[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.internal.Exact flags:[primary]' type=kotlin.internal.Exact origin=null] kotlin.collections.getValue.V>, thisRef:kotlin.Any?, property:kotlin.reflect.KProperty<*>) returnType:kotlin.collections.getValue.V1 flags:[inline]' type=kotlin.Any origin=null
              <V>: kotlin.Any
              <V1 : V>: kotlin.Any
              $receiver: GET_FIELD 'FIELD DELEGATE name:test3$delegate type:kotlin.collections.MutableMap<kotlin.String, kotlin.Any> visibility:private flags:[final]' type=kotlin.collections.MutableMap<kotlin.String, kotlin.Any> origin=null
                receiver: GET_VAR 'VALUE_PARAMETER name:<this> type:<root>.C flags:[]' type=<root>.C origin=null
              thisRef: GET_VAR 'VALUE_PARAMETER name:<this> type:<root>.C flags:[]' type=<root>.C origin=null
              property: PROPERTY_REFERENCE 'test3: Any' field=null getter='FUN DELEGATED_PROPERTY_ACCESSOR name:<get-test3> visibility:public modality:FINAL <> ($this:<root>.C) returnType:kotlin.Any flags:[]' setter='FUN DELEGATED_PROPERTY_ACCESSOR name:<set-test3> visibility:public modality:FINAL <> ($this:<root>.C, <set-?>:kotlin.Any) returnType:kotlin.Unit flags:[]' type=kotlin.reflect.KMutableProperty1<<root>.C, kotlin.Any> origin=PROPERTY_REFERENCE_FOR_DELEGATE
      FUN DELEGATED_PROPERTY_ACCESSOR name:<set-test3> visibility:public modality:FINAL <> ($this:<root>.C, <set-?>:kotlin.Any) returnType:kotlin.Unit flags:[]
        correspondingProperty: PROPERTY name:test3 visibility:public modality:FINAL flags:[delegated,var]
        $this: VALUE_PARAMETER name:<this> type:<root>.C flags:[]
        VALUE_PARAMETER name:<set-?> index:0 type:kotlin.Any flags:[]
        BLOCK_BODY
          RETURN type=kotlin.Nothing from='FUN DELEGATED_PROPERTY_ACCESSOR name:<set-test3> visibility:public modality:FINAL <> ($this:<root>.C, <set-?>:kotlin.Any) returnType:kotlin.Unit flags:[]'
            CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:setValue visibility:public modality:FINAL <V> ($receiver:kotlin.collections.MutableMap<in kotlin.String, in kotlin.collections.setValue.V>, thisRef:kotlin.Any?, property:kotlin.reflect.KProperty<*>, value:kotlin.collections.setValue.V) returnType:kotlin.Unit flags:[inline]' type=kotlin.Unit origin=null
              <V>: kotlin.Any
              $receiver: GET_FIELD 'FIELD DELEGATE name:test3$delegate type:kotlin.collections.MutableMap<kotlin.String, kotlin.Any> visibility:private flags:[final]' type=kotlin.collections.MutableMap<kotlin.String, kotlin.Any> origin=null
                receiver: GET_VAR 'VALUE_PARAMETER name:<this> type:<root>.C flags:[]' type=<root>.C origin=null
              thisRef: GET_VAR 'VALUE_PARAMETER name:<this> type:<root>.C flags:[]' type=<root>.C origin=null
              property: PROPERTY_REFERENCE 'test3: Any' field=null getter='FUN DELEGATED_PROPERTY_ACCESSOR name:<get-test3> visibility:public modality:FINAL <> ($this:<root>.C) returnType:kotlin.Any flags:[]' setter='FUN DELEGATED_PROPERTY_ACCESSOR name:<set-test3> visibility:public modality:FINAL <> ($this:<root>.C, <set-?>:kotlin.Any) returnType:kotlin.Unit flags:[]' type=kotlin.reflect.KMutableProperty1<<root>.C, kotlin.Any> origin=PROPERTY_REFERENCE_FOR_DELEGATE
              value: GET_VAR 'VALUE_PARAMETER name:<set-?> index:0 type:kotlin.Any flags:[]' type=kotlin.Any 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:[]
      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:[]
      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:test4 visibility:public modality:FINAL flags:[delegated,var]
    FIELD DELEGATE name:test4$delegate type:java.util.HashMap<kotlin.String, kotlin.Any> visibility:private flags:[final,static]
      EXPRESSION_BODY
        CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:hashMapOf visibility:public modality:FINAL <K, V> () returnType:java.util.HashMap<kotlin.collections.hashMapOf.K, kotlin.collections.hashMapOf.V> flags:[inline]' type=java.util.HashMap<kotlin.String, kotlin.Any> origin=null
          <K>: kotlin.String
          <V>: kotlin.Any
    FUN DELEGATED_PROPERTY_ACCESSOR name:<get-test4> visibility:public modality:FINAL <> () returnType:kotlin.Any flags:[]
      correspondingProperty: PROPERTY name:test4 visibility:public modality:FINAL flags:[delegated,var]
      BLOCK_BODY
        RETURN type=kotlin.Nothing from='FUN DELEGATED_PROPERTY_ACCESSOR name:<get-test4> visibility:public modality:FINAL <> () returnType:kotlin.Any flags:[]'
          CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:getValue visibility:public modality:FINAL <V, V1> ($receiver:kotlin.collections.MutableMap<in kotlin.String, out @[CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.internal.Exact flags:[primary]' type=kotlin.internal.Exact origin=null] kotlin.collections.getValue.V>, thisRef:kotlin.Any?, property:kotlin.reflect.KProperty<*>) returnType:kotlin.collections.getValue.V1 flags:[inline]' type=kotlin.Any origin=null
            <V>: kotlin.Any
            <V1 : V>: kotlin.Any
            $receiver: GET_FIELD 'FIELD DELEGATE name:test4$delegate type:java.util.HashMap<kotlin.String, kotlin.Any> visibility:private flags:[final,static]' type=java.util.HashMap<kotlin.String, kotlin.Any> origin=null
            thisRef: CONST Null type=kotlin.Nothing? value=null
            property: PROPERTY_REFERENCE 'test4: Any' field=null getter='FUN DELEGATED_PROPERTY_ACCESSOR name:<get-test4> visibility:public modality:FINAL <> () returnType:kotlin.Any flags:[]' setter='FUN DELEGATED_PROPERTY_ACCESSOR name:<set-test4> visibility:public modality:FINAL <> (<set-?>:kotlin.Any) returnType:kotlin.Unit flags:[]' type=kotlin.reflect.KMutableProperty0<kotlin.Any> origin=PROPERTY_REFERENCE_FOR_DELEGATE
    FUN DELEGATED_PROPERTY_ACCESSOR name:<set-test4> visibility:public modality:FINAL <> (<set-?>:kotlin.Any) returnType:kotlin.Unit flags:[]
      correspondingProperty: PROPERTY name:test4 visibility:public modality:FINAL flags:[delegated,var]
      VALUE_PARAMETER name:<set-?> index:0 type:kotlin.Any flags:[]
      BLOCK_BODY
        RETURN type=kotlin.Nothing from='FUN DELEGATED_PROPERTY_ACCESSOR name:<set-test4> visibility:public modality:FINAL <> (<set-?>:kotlin.Any) returnType:kotlin.Unit flags:[]'
          CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:setValue visibility:public modality:FINAL <V> ($receiver:kotlin.collections.MutableMap<in kotlin.String, in kotlin.collections.setValue.V>, thisRef:kotlin.Any?, property:kotlin.reflect.KProperty<*>, value:kotlin.collections.setValue.V) returnType:kotlin.Unit flags:[inline]' type=kotlin.Unit origin=null
            <V>: kotlin.Any
            $receiver: GET_FIELD 'FIELD DELEGATE name:test4$delegate type:java.util.HashMap<kotlin.String, kotlin.Any> visibility:private flags:[final,static]' type=java.util.HashMap<kotlin.String, kotlin.Any> origin=null
            thisRef: CONST Null type=kotlin.Nothing? value=null
            property: PROPERTY_REFERENCE 'test4: Any' field=null getter='FUN DELEGATED_PROPERTY_ACCESSOR name:<get-test4> visibility:public modality:FINAL <> () returnType:kotlin.Any flags:[]' setter='FUN DELEGATED_PROPERTY_ACCESSOR name:<set-test4> visibility:public modality:FINAL <> (<set-?>:kotlin.Any) returnType:kotlin.Unit flags:[]' type=kotlin.reflect.KMutableProperty0<kotlin.Any> origin=PROPERTY_REFERENCE_FOR_DELEGATE
            value: GET_VAR 'VALUE_PARAMETER name:<set-?> index:0 type:kotlin.Any flags:[]' type=kotlin.Any origin=null
