MODULE_FRAGMENT name:<simpleSmoke>
  FILE fqName:simple fileName:/simpleSmoke.kt
    CLASS INTERFACE name:I signature:simple/I|null[0] modality:ABSTRACT visibility:public superTypes:[kotlin.Any]
      thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name:<this> type:simple.I
      FUN name:interfaceFun signature:simple/I.interfaceFun|interfaceFun(kotlin.Int){}[0] visibility:public modality:ABSTRACT returnType:kotlin.Unit
        VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:simple.I
        VALUE_PARAMETER kind:Regular name:default index:1 type:kotlin.Int
          EXPRESSION_BODY
            CONST Int type=kotlin.Int value=42
      CLASS OBJECT name:Companion signature:simple/I.Companion|null[0] modality:FINAL visibility:public [companion] superTypes:[kotlin.Any]
        thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name:<this> type:simple.I.Companion
        CONSTRUCTOR signature:simple/I.Companion.<init>|<init>(){}[0] visibility:private returnType:simple.I.Companion [primary]
          BLOCK_BODY
            DELEGATING_CONSTRUCTOR_CALL 'kotlin/Any.<init>|<init>(){}[0]'
            INSTANCE_INITIALIZER_CALL classDescriptor='simple/I.Companion|null[0]' type=kotlin.Unit
        PROPERTY name:companionObjectVal signature:simple/I.Companion.companionObjectVal|{}companionObjectVal[0] visibility:public modality:FINAL [val]
          FIELD PROPERTY_BACKING_FIELD name:companionObjectVal signature:[ simple/I.Companion.companionObjectVal|{}companionObjectVal[0] <- Local[<BF>] ] type:kotlin.String visibility:private [final]
            EXPRESSION_BODY
              CONST String type=kotlin.String value="foo"
          FUN DEFAULT_PROPERTY_ACCESSOR name:<get-companionObjectVal> signature:simple/I.Companion.companionObjectVal.<get-companionObjectVal>|<get-companionObjectVal>(){}[0] visibility:public modality:FINAL returnType:kotlin.String
            VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:simple.I.Companion
            correspondingProperty: PROPERTY name:companionObjectVal signature:simple/I.Companion.companionObjectVal|{}companionObjectVal[0] visibility:public modality:FINAL [val]
            BLOCK_BODY
              RETURN type=kotlin.Nothing from='simple/I.Companion.companionObjectVal.<get-companionObjectVal>|<get-companionObjectVal>(){}[0]'
                GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:companionObjectVal signature:[ simple/I.Companion.companionObjectVal|{}companionObjectVal[0] <- Local[<BF>] ] type:kotlin.String visibility:private [final]' type=kotlin.String origin=null
                  receiver: GET_VAR '<this>: simple.I.Companion declared in simple.I.Companion.<get-companionObjectVal>' type=simple.I.Companion origin=null
    FUN name:take signature:simple/take|take(0:0){0§<kotlin.Any?>}[0] visibility:public modality:FINAL returnType:kotlin.Unit
      TYPE_PARAMETER name:T index:0 variance: signature:[ simple/take|take(0:0){0§<kotlin.Any?>}[0] <- Local[<TP>,0] ] superTypes:[kotlin.Any?] reified:false
      VALUE_PARAMETER kind:Regular name:x index:0 type:T of simple.take
      BLOCK_BODY
    FUN name:getBoolean signature:simple/getBoolean|getBoolean(){}[0] visibility:public modality:FINAL returnType:kotlin.Boolean
      BLOCK_BODY
        RETURN type=kotlin.Nothing from='simple/getBoolean|getBoolean(){}[0]'
          CONST Boolean type=kotlin.Boolean value=true
    FUN name:functionCalls signature:simple/functionCalls|functionCalls(simple.I){}[0] visibility:public modality:FINAL returnType:kotlin.Unit
      VALUE_PARAMETER kind:Regular name:i index:0 type:simple.I
      BLOCK_BODY
        WHEN type=kotlin.Unit origin=IF
          BRANCH
            if: CALL 'simple/getBoolean|getBoolean(){}[0]' type=kotlin.Boolean origin=null
            then: BLOCK type=kotlin.Unit origin=null
              CALL 'simple/take|take(0:0){0§<kotlin.Any?>}[0]' type=kotlin.Unit origin=null
                TYPE_ARG T: kotlin.String
                ARG x: CALL 'simple/I.Companion.companionObjectVal.<get-companionObjectVal>|<get-companionObjectVal>(){}[0]' type=kotlin.String origin=GET_PROPERTY
                  ARG <this>: GET_OBJECT 'simple/I.Companion|null[0]' type=simple.I.Companion
        WHILE label=null origin=WHILE_LOOP
          condition: CALL 'simple/getBoolean|getBoolean(){}[0]' type=kotlin.Boolean origin=null
          body: BLOCK type=kotlin.Unit origin=null
            CALL 'simple/I.interfaceFun|interfaceFun(kotlin.Int){}[0]' type=kotlin.Unit origin=null
              ARG <this>: GET_VAR 'i: simple.I declared in simple.functionCalls' type=simple.I origin=null

