FILE fqName:<root> fileName:/localDelegatedProperties.kt
  FUN name:test1 visibility:public modality:FINAL returnType:kotlin.Unit
    BLOCK_BODY
      LOCAL_DELEGATED_PROPERTY name:x type:kotlin.Int flags:val
        VAR PROPERTY_DELEGATE name:x$delegate type:kotlin.Lazy<kotlin.Int> [val]
          CALL 'public final fun lazy <T> (initializer: kotlin.Function0<T of kotlin.lazy>): kotlin.Lazy<T of kotlin.lazy> declared in kotlin' type=kotlin.Lazy<kotlin.Int> origin=null
            TYPE_ARG T: kotlin.Int
            ARG initializer: FUN_EXPR type=kotlin.Function0<kotlin.Int> origin=LAMBDA
              FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL returnType:kotlin.Int
                BLOCK_BODY
                  RETURN type=kotlin.Nothing from='local final fun <anonymous> (): kotlin.Int declared in <root>.test1'
                    CONST Int type=kotlin.Int value=42
        FUN DELEGATED_PROPERTY_ACCESSOR name:<get-x> visibility:local modality:FINAL returnType:kotlin.Int
          BLOCK_BODY
            RETURN type=kotlin.Nothing from='local final fun <get-x> (): kotlin.Int declared in <root>.test1'
              CALL 'public final fun getValue <T> (<this>: kotlin.Lazy<T of kotlin.getValue>, thisRef: kotlin.Any?, property: kotlin.reflect.KProperty<*>): T of kotlin.getValue declared in kotlin' type=kotlin.Int origin=null
                TYPE_ARG T: kotlin.Int
                ARG <this>: GET_VAR 'val x$delegate: kotlin.Lazy<kotlin.Int> declared in <root>.test1' type=kotlin.Lazy<kotlin.Int> origin=null
                ARG thisRef: CONST Null type=kotlin.Nothing? value=null
                ARG property: LOCAL_DELEGATED_PROPERTY_REFERENCE 'val x: kotlin.Int by (...)' delegate='val x$delegate: kotlin.Lazy<kotlin.Int> declared in <root>.test1' getter='local final fun <get-x> (): kotlin.Int declared in <root>.test1' setter=null type=kotlin.reflect.KProperty0<kotlin.Int> origin=PROPERTY_REFERENCE_FOR_DELEGATE
      CALL 'public final fun println (message: kotlin.Int): kotlin.Unit declared in kotlin.io' type=kotlin.Unit origin=null
        ARG message: CALL 'local final fun <get-x> (): kotlin.Int declared in <root>.test1' type=kotlin.Int origin=GET_LOCAL_PROPERTY
  FUN name:test2 visibility:public modality:FINAL returnType:kotlin.Unit
    BLOCK_BODY
      LOCAL_DELEGATED_PROPERTY name:x type:kotlin.Int flags:var
        VAR PROPERTY_DELEGATE name:x$delegate type:java.util.HashMap<kotlin.String, kotlin.Int> [val]
          CALL 'public final fun hashMapOf <K, V> (): java.util.HashMap<K of kotlin.collections.hashMapOf, V of kotlin.collections.hashMapOf> declared in kotlin.collections' type=java.util.HashMap<kotlin.String, kotlin.Int> origin=null
            TYPE_ARG K: kotlin.String
            TYPE_ARG V: kotlin.Int
        FUN DELEGATED_PROPERTY_ACCESSOR name:<get-x> visibility:local modality:FINAL returnType:kotlin.Int
          BLOCK_BODY
            RETURN type=kotlin.Nothing from='local final fun <get-x> (): kotlin.Int declared in <root>.test2'
              CALL 'public final fun getValue <V, V1> (<this>: kotlin.collections.MutableMap<in kotlin.String, out V of kotlin.collections.getValue>, thisRef: kotlin.Any?, property: kotlin.reflect.KProperty<*>): V1 of kotlin.collections.getValue declared in kotlin.collections' type=kotlin.Int origin=null
                TYPE_ARG V: kotlin.Int
                TYPE_ARG V1: kotlin.Int
                ARG <this>: GET_VAR 'val x$delegate: java.util.HashMap<kotlin.String, kotlin.Int> declared in <root>.test2' type=java.util.HashMap<kotlin.String, kotlin.Int> origin=null
                ARG thisRef: CONST Null type=kotlin.Nothing? value=null
                ARG property: LOCAL_DELEGATED_PROPERTY_REFERENCE 'var x: kotlin.Int by (...)' delegate='val x$delegate: java.util.HashMap<kotlin.String, kotlin.Int> declared in <root>.test2' getter='local final fun <get-x> (): kotlin.Int declared in <root>.test2' setter='local final fun <set-x> (<set-?>: kotlin.Int): kotlin.Unit declared in <root>.test2' type=kotlin.reflect.KMutableProperty0<kotlin.Int> origin=PROPERTY_REFERENCE_FOR_DELEGATE
        FUN DELEGATED_PROPERTY_ACCESSOR name:<set-x> visibility:local modality:FINAL returnType:kotlin.Unit
          VALUE_PARAMETER kind:Regular name:<set-?> index:0 type:kotlin.Int
          BLOCK_BODY
            RETURN type=kotlin.Nothing from='local final fun <set-x> (<set-?>: kotlin.Int): kotlin.Unit declared in <root>.test2'
              CALL 'public final fun setValue <V> (<this>: kotlin.collections.MutableMap<in kotlin.String, in V of kotlin.collections.setValue>, thisRef: kotlin.Any?, property: kotlin.reflect.KProperty<*>, value: V of kotlin.collections.setValue): kotlin.Unit declared in kotlin.collections' type=kotlin.Unit origin=null
                TYPE_ARG V: kotlin.Int
                ARG <this>: GET_VAR 'val x$delegate: java.util.HashMap<kotlin.String, kotlin.Int> declared in <root>.test2' type=java.util.HashMap<kotlin.String, kotlin.Int> origin=null
                ARG thisRef: CONST Null type=kotlin.Nothing? value=null
                ARG property: LOCAL_DELEGATED_PROPERTY_REFERENCE 'var x: kotlin.Int by (...)' delegate='val x$delegate: java.util.HashMap<kotlin.String, kotlin.Int> declared in <root>.test2' getter='local final fun <get-x> (): kotlin.Int declared in <root>.test2' setter='local final fun <set-x> (<set-?>: kotlin.Int): kotlin.Unit declared in <root>.test2' type=kotlin.reflect.KMutableProperty0<kotlin.Int> origin=PROPERTY_REFERENCE_FOR_DELEGATE
                ARG value: GET_VAR '<set-?>: kotlin.Int declared in <root>.test2.<set-x>' type=kotlin.Int origin=null
      CALL 'local final fun <set-x> (<set-?>: kotlin.Int): kotlin.Unit declared in <root>.test2' type=kotlin.Unit origin=EQ
        ARG <set-?>: CONST Int type=kotlin.Int value=0
      TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
        BLOCK type=kotlin.Int origin=POSTFIX_INCR
          VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:kotlin.Int [val]
            CALL 'local final fun <get-x> (): kotlin.Int declared in <root>.test2' type=kotlin.Int origin=GET_LOCAL_PROPERTY
          CALL 'local final fun <set-x> (<set-?>: kotlin.Int): kotlin.Unit declared in <root>.test2' type=kotlin.Unit origin=POSTFIX_INCR
            ARG <set-?>: CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=POSTFIX_INCR
              ARG <this>: GET_VAR 'val tmp_0: kotlin.Int declared in <root>.test2' type=kotlin.Int origin=null
          GET_VAR 'val tmp_0: kotlin.Int declared in <root>.test2' type=kotlin.Int origin=null
      CALL 'local final fun <set-x> (<set-?>: kotlin.Int): kotlin.Unit declared in <root>.test2' type=kotlin.Unit origin=PLUSEQ
        ARG <set-?>: CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ
          ARG <this>: CALL 'local final fun <get-x> (): kotlin.Int declared in <root>.test2' type=kotlin.Int origin=GET_LOCAL_PROPERTY
          ARG other: CONST Int type=kotlin.Int value=1
