Module: <common>
FILE fqName:<root> fileName:/common.kt
  annotations:
    Ann
  TYPEALIAS name:TA visibility:public expandedType:kotlin.String
    annotations:
      Ann
  CLASS CLASS name:C modality:FINAL visibility:public superTypes:[kotlin.Any]
    annotations:
      Ann
    $this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.C<T of <root>.C>
    TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
      annotations:
        Ann
    CONSTRUCTOR visibility:public <> () returnType:<root>.C<T of <root>.C> [primary]
      BLOCK_BODY
        DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in kotlin.Any'
        INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[kotlin.Any]'
    FUN name:ok visibility:public modality:FINAL <> ($this:<root>.C<T of <root>.C>) returnType:kotlin.String
      $this: VALUE_PARAMETER name:<this> type:<root>.C<T of <root>.C>
      BLOCK_BODY
        RETURN type=kotlin.Nothing from='public final fun ok (): kotlin.String declared in <root>.C'
          CONST String type=kotlin.String value="OK"
    FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
      overridden:
        public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any
      VALUE_PARAMETER name:other index:0 type:kotlin.Any?
    FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
      overridden:
        public open fun hashCode (): kotlin.Int declared in kotlin.Any
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any
    FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
      overridden:
        public open fun toString (): kotlin.String declared in kotlin.Any
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any
  FUN name:f visibility:public modality:FINAL <> (p:kotlin.String) returnType:kotlin.String
    annotations:
      Ann
    VALUE_PARAMETER name:p index:0 type:kotlin.String
      annotations:
        Ann
    BLOCK_BODY
      VAR name:localVar type:kotlin.String [var]
        annotations:
          Ann
        GET_VAR 'p: kotlin.String declared in <root>.f' type=kotlin.String origin=null
      RETURN type=kotlin.Nothing from='public final fun f (p: kotlin.String): kotlin.String declared in <root>'
        GET_VAR 'p: kotlin.String declared in <root>.f' type=kotlin.String origin=null
  PROPERTY name:ok visibility:public modality:FINAL [var]
    FIELD PROPERTY_BACKING_FIELD name:ok type:kotlin.String visibility:private [static]
      annotations:
        Ann
      EXPRESSION_BODY
        CONST String type=kotlin.String value="OK"
    FUN DEFAULT_PROPERTY_ACCESSOR name:<get-ok> visibility:public modality:FINAL <> () returnType:kotlin.String
      annotations:
        Ann
      correspondingProperty: PROPERTY name:ok visibility:public modality:FINAL [var]
      BLOCK_BODY
        RETURN type=kotlin.Nothing from='public final fun <get-ok> (): kotlin.String declared in <root>'
          GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:ok type:kotlin.String visibility:private [static]' type=kotlin.String origin=null
    FUN DEFAULT_PROPERTY_ACCESSOR name:<set-ok> visibility:public modality:FINAL <> (<set-?>:kotlin.String) returnType:kotlin.Unit
      annotations:
        Ann
      correspondingProperty: PROPERTY name:ok visibility:public modality:FINAL [var]
      VALUE_PARAMETER name:<set-?> index:0 type:kotlin.String
      BLOCK_BODY
        SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:ok type:kotlin.String visibility:private [static]' type=kotlin.Unit origin=null
          value: GET_VAR '<set-?>: kotlin.String declared in <root>.<set-ok>' type=kotlin.String origin=null
  PROPERTY name:variable visibility:public modality:FINAL [val]
    annotations:
      Ann
    FIELD PROPERTY_BACKING_FIELD name:variable type:kotlin.String visibility:private [final,static]
      EXPRESSION_BODY
        CONST String type=kotlin.String value="OK"
    FUN DEFAULT_PROPERTY_ACCESSOR name:<get-variable> visibility:public modality:FINAL <> () returnType:kotlin.String
      correspondingProperty: PROPERTY name:variable visibility:public modality:FINAL [val]
      BLOCK_BODY
        RETURN type=kotlin.Nothing from='public final fun <get-variable> (): kotlin.String declared in <root>'
          GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:variable type:kotlin.String visibility:private [final,static]' type=kotlin.String origin=null
  CLASS ENUM_CLASS name:E modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.E>]
    $this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.E
    CONSTRUCTOR visibility:private <> () returnType:<root>.E [primary]
      BLOCK_BODY
        ENUM_CONSTRUCTOR_CALL 'public constructor <init> (name: kotlin.String, ordinal: kotlin.Int) declared in kotlin.Enum'
          <E>: <root>.E
        INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:E modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.E>]'
    ENUM_ENTRY name:OK
      annotations:
        Ann
      init: EXPRESSION_BODY
        ENUM_CONSTRUCTOR_CALL 'private constructor <init> () declared in <root>.E'
    FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<<root>.E>
      SYNTHETIC_BODY kind=ENUM_VALUES
    FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:<root>.E
      VALUE_PARAMETER name:value index:0 type:kotlin.String
      SYNTHETIC_BODY kind=ENUM_VALUEOF
    PROPERTY ENUM_CLASS_SPECIAL_MEMBER name:entries visibility:public modality:FINAL [val]
      FUN ENUM_CLASS_SPECIAL_MEMBER name:<get-entries> visibility:public modality:FINAL <> () returnType:kotlin.enums.EnumEntries<<root>.E>
        correspondingProperty: PROPERTY ENUM_CLASS_SPECIAL_MEMBER name:entries visibility:public modality:FINAL [val]
        SYNTHETIC_BODY kind=ENUM_ENTRIES
    FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<E of kotlin.Enum>) returnType:kotlin.Any [fake_override]
      overridden:
        protected final fun clone (): kotlin.Any declared in kotlin.Enum
      $this: VALUE_PARAMETER name:<this> type:kotlin.Enum<E of kotlin.Enum>
    FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<E of kotlin.Enum>, other:<root>.E) returnType:kotlin.Int [fake_override,operator]
      overridden:
        public final fun compareTo (other: E of kotlin.Enum): kotlin.Int declared in kotlin.Enum
      $this: VALUE_PARAMETER name:<this> type:kotlin.Enum<E of kotlin.Enum>
      VALUE_PARAMETER name:other index:0 type:<root>.E
    FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<E of kotlin.Enum>, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
      overridden:
        public final fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Enum
      $this: VALUE_PARAMETER name:<this> type:kotlin.Enum<E of kotlin.Enum>
      VALUE_PARAMETER name:other index:0 type:kotlin.Any?
    FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<E of kotlin.Enum>) returnType:kotlin.Int [fake_override]
      overridden:
        public final fun hashCode (): kotlin.Int declared in kotlin.Enum
      $this: VALUE_PARAMETER name:<this> type:kotlin.Enum<E of kotlin.Enum>
    FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<E of kotlin.Enum>) returnType:kotlin.String [fake_override]
      overridden:
        public open fun toString (): kotlin.String declared in kotlin.Enum
      $this: VALUE_PARAMETER name:<this> type:kotlin.Enum<E of kotlin.Enum>
    PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val]
      annotations:
        IntrinsicConstEvaluation
      overridden:
        public final name: kotlin.String
      FUN FAKE_OVERRIDE name:<get-name> visibility:public modality:FINAL <> ($this:kotlin.Enum<E of kotlin.Enum>) returnType:kotlin.String [fake_override]
        correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val]
        overridden:
          public final fun <get-name> (): kotlin.String declared in kotlin.Enum
        $this: VALUE_PARAMETER name:<this> type:kotlin.Enum<E of kotlin.Enum>
    PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val]
      overridden:
        public final ordinal: kotlin.Int
      FUN FAKE_OVERRIDE name:<get-ordinal> visibility:public modality:FINAL <> ($this:kotlin.Enum<E of kotlin.Enum>) returnType:kotlin.Int [fake_override]
        correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val]
        overridden:
          public final fun <get-ordinal> (): kotlin.Int declared in kotlin.Enum
        $this: VALUE_PARAMETER name:<this> type:kotlin.Enum<E of kotlin.Enum>
    FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<E of kotlin.Enum>) returnType:@[FlexibleNullability] java.lang.Class<@[FlexibleNullability] <root>.E?>? [fake_override]
      overridden:
        public final fun getDeclaringClass (): @[FlexibleNullability] java.lang.Class<@[FlexibleNullability] E of kotlin.Enum?>? declared in kotlin.Enum
      $this: VALUE_PARAMETER name:<this> type:kotlin.Enum<E of kotlin.Enum>
    FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<E of kotlin.Enum>) returnType:kotlin.Unit [fake_override]
      overridden:
        protected/*protected and package*/ final fun finalize (): kotlin.Unit declared in kotlin.Enum
      $this: VALUE_PARAMETER name:<this> type:kotlin.Enum<E of kotlin.Enum>
Module: lib
FILE fqName:<root> fileName:/common.kt
  annotations:
    Ann
  TYPEALIAS name:TA visibility:public expandedType:kotlin.String
    annotations:
      Ann
  CLASS CLASS name:C modality:FINAL visibility:public superTypes:[kotlin.Any]
    annotations:
      Ann
    $this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.C<T of <root>.C>
    TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
      annotations:
        Ann
    CONSTRUCTOR visibility:public <> () returnType:<root>.C<T of <root>.C> [primary]
      BLOCK_BODY
        DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in kotlin.Any'
        INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[kotlin.Any]'
    FUN name:ok visibility:public modality:FINAL <> ($this:<root>.C<T of <root>.C>) returnType:kotlin.String
      $this: VALUE_PARAMETER name:<this> type:<root>.C<T of <root>.C>
      BLOCK_BODY
        RETURN type=kotlin.Nothing from='public final fun ok (): kotlin.String declared in <root>.C'
          CONST String type=kotlin.String value="OK"
    FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
      overridden:
        public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any
      VALUE_PARAMETER name:other index:0 type:kotlin.Any?
    FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
      overridden:
        public open fun hashCode (): kotlin.Int declared in kotlin.Any
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any
    FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
      overridden:
        public open fun toString (): kotlin.String declared in kotlin.Any
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any
  FUN name:f visibility:public modality:FINAL <> (p:kotlin.String) returnType:kotlin.String
    annotations:
      Ann
    VALUE_PARAMETER name:p index:0 type:kotlin.String
      annotations:
        Ann
    BLOCK_BODY
      VAR name:localVar type:kotlin.String [var]
        annotations:
          Ann
        GET_VAR 'p: kotlin.String declared in <root>.f' type=kotlin.String origin=null
      RETURN type=kotlin.Nothing from='public final fun f (p: kotlin.String): kotlin.String declared in <root>'
        GET_VAR 'p: kotlin.String declared in <root>.f' type=kotlin.String origin=null
  PROPERTY name:ok visibility:public modality:FINAL [var]
    FIELD PROPERTY_BACKING_FIELD name:ok type:kotlin.String visibility:private [static]
      annotations:
        Ann
      EXPRESSION_BODY
        CONST String type=kotlin.String value="OK"
    FUN DEFAULT_PROPERTY_ACCESSOR name:<get-ok> visibility:public modality:FINAL <> () returnType:kotlin.String
      annotations:
        Ann
      correspondingProperty: PROPERTY name:ok visibility:public modality:FINAL [var]
      BLOCK_BODY
        RETURN type=kotlin.Nothing from='public final fun <get-ok> (): kotlin.String declared in <root>'
          GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:ok type:kotlin.String visibility:private [static]' type=kotlin.String origin=null
    FUN DEFAULT_PROPERTY_ACCESSOR name:<set-ok> visibility:public modality:FINAL <> (<set-?>:kotlin.String) returnType:kotlin.Unit
      annotations:
        Ann
      correspondingProperty: PROPERTY name:ok visibility:public modality:FINAL [var]
      VALUE_PARAMETER name:<set-?> index:0 type:kotlin.String
      BLOCK_BODY
        SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:ok type:kotlin.String visibility:private [static]' type=kotlin.Unit origin=null
          value: GET_VAR '<set-?>: kotlin.String declared in <root>.<set-ok>' type=kotlin.String origin=null
  PROPERTY name:variable visibility:public modality:FINAL [val]
    annotations:
      Ann
    FIELD PROPERTY_BACKING_FIELD name:variable type:kotlin.String visibility:private [final,static]
      EXPRESSION_BODY
        CONST String type=kotlin.String value="OK"
    FUN DEFAULT_PROPERTY_ACCESSOR name:<get-variable> visibility:public modality:FINAL <> () returnType:kotlin.String
      correspondingProperty: PROPERTY name:variable visibility:public modality:FINAL [val]
      BLOCK_BODY
        RETURN type=kotlin.Nothing from='public final fun <get-variable> (): kotlin.String declared in <root>'
          GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:variable type:kotlin.String visibility:private [final,static]' type=kotlin.String origin=null
  CLASS ENUM_CLASS name:E modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.E>]
    $this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.E
    CONSTRUCTOR visibility:private <> () returnType:<root>.E [primary]
      BLOCK_BODY
        ENUM_CONSTRUCTOR_CALL 'public constructor <init> (name: kotlin.String, ordinal: kotlin.Int) declared in kotlin.Enum'
          <E>: <root>.E
        INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:E modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.E>]'
    ENUM_ENTRY name:OK
      annotations:
        Ann
      init: EXPRESSION_BODY
        ENUM_CONSTRUCTOR_CALL 'private constructor <init> () declared in <root>.E'
    FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<<root>.E>
      SYNTHETIC_BODY kind=ENUM_VALUES
    FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:<root>.E
      VALUE_PARAMETER name:value index:0 type:kotlin.String
      SYNTHETIC_BODY kind=ENUM_VALUEOF
    PROPERTY ENUM_CLASS_SPECIAL_MEMBER name:entries visibility:public modality:FINAL [val]
      FUN ENUM_CLASS_SPECIAL_MEMBER name:<get-entries> visibility:public modality:FINAL <> () returnType:kotlin.enums.EnumEntries<<root>.E>
        correspondingProperty: PROPERTY ENUM_CLASS_SPECIAL_MEMBER name:entries visibility:public modality:FINAL [val]
        SYNTHETIC_BODY kind=ENUM_ENTRIES
    FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<E of kotlin.Enum>) returnType:kotlin.Any [fake_override]
      overridden:
        protected final fun clone (): kotlin.Any declared in kotlin.Enum
      $this: VALUE_PARAMETER name:<this> type:kotlin.Enum<E of kotlin.Enum>
    FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<E of kotlin.Enum>, other:<root>.E) returnType:kotlin.Int [fake_override,operator]
      overridden:
        public final fun compareTo (other: E of kotlin.Enum): kotlin.Int declared in kotlin.Enum
      $this: VALUE_PARAMETER name:<this> type:kotlin.Enum<E of kotlin.Enum>
      VALUE_PARAMETER name:other index:0 type:<root>.E
    FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<E of kotlin.Enum>, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
      overridden:
        public final fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Enum
      $this: VALUE_PARAMETER name:<this> type:kotlin.Enum<E of kotlin.Enum>
      VALUE_PARAMETER name:other index:0 type:kotlin.Any?
    FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<E of kotlin.Enum>) returnType:kotlin.Int [fake_override]
      overridden:
        public final fun hashCode (): kotlin.Int declared in kotlin.Enum
      $this: VALUE_PARAMETER name:<this> type:kotlin.Enum<E of kotlin.Enum>
    FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<E of kotlin.Enum>) returnType:kotlin.String [fake_override]
      overridden:
        public open fun toString (): kotlin.String declared in kotlin.Enum
      $this: VALUE_PARAMETER name:<this> type:kotlin.Enum<E of kotlin.Enum>
    PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val]
      annotations:
        IntrinsicConstEvaluation
      overridden:
        public final name: kotlin.String
      FUN FAKE_OVERRIDE name:<get-name> visibility:public modality:FINAL <> ($this:kotlin.Enum<E of kotlin.Enum>) returnType:kotlin.String [fake_override]
        correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val]
        overridden:
          public final fun <get-name> (): kotlin.String declared in kotlin.Enum
        $this: VALUE_PARAMETER name:<this> type:kotlin.Enum<E of kotlin.Enum>
    PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val]
      overridden:
        public final ordinal: kotlin.Int
      FUN FAKE_OVERRIDE name:<get-ordinal> visibility:public modality:FINAL <> ($this:kotlin.Enum<E of kotlin.Enum>) returnType:kotlin.Int [fake_override]
        correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val]
        overridden:
          public final fun <get-ordinal> (): kotlin.Int declared in kotlin.Enum
        $this: VALUE_PARAMETER name:<this> type:kotlin.Enum<E of kotlin.Enum>
    FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<E of kotlin.Enum>) returnType:@[FlexibleNullability] java.lang.Class<@[FlexibleNullability] <root>.E?>? [fake_override]
      overridden:
        public final fun getDeclaringClass (): @[FlexibleNullability] java.lang.Class<@[FlexibleNullability] E of kotlin.Enum?>? declared in kotlin.Enum
      $this: VALUE_PARAMETER name:<this> type:kotlin.Enum<E of kotlin.Enum>
    FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<E of kotlin.Enum>) returnType:kotlin.Unit [fake_override]
      overridden:
        protected/*protected and package*/ final fun finalize (): kotlin.Unit declared in kotlin.Enum
      $this: VALUE_PARAMETER name:<this> type:kotlin.Enum<E of kotlin.Enum>
FILE fqName:<root> fileName:/lib.kt
  CLASS ANNOTATION_CLASS name:Ann modality:OPEN visibility:public superTypes:[kotlin.Annotation]
    annotations:
      Target(allowedTargets = [GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:FILE' type=kotlin.annotation.AnnotationTarget, GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:CLASS' type=kotlin.annotation.AnnotationTarget, GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:FUNCTION' type=kotlin.annotation.AnnotationTarget, GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:PROPERTY' type=kotlin.annotation.AnnotationTarget, GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:FIELD' type=kotlin.annotation.AnnotationTarget, GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:PROPERTY_GETTER' type=kotlin.annotation.AnnotationTarget, GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:PROPERTY_SETTER' type=kotlin.annotation.AnnotationTarget, GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:TYPE_PARAMETER' type=kotlin.annotation.AnnotationTarget, GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:VALUE_PARAMETER' type=kotlin.annotation.AnnotationTarget, GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:TYPEALIAS' type=kotlin.annotation.AnnotationTarget, GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:LOCAL_VARIABLE' type=kotlin.annotation.AnnotationTarget])
    $this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Ann
    CONSTRUCTOR visibility:public <> () returnType:<root>.Ann [primary]
      BLOCK_BODY
        DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in kotlin.Any'
        INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:Ann modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
    FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
      overridden:
        public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Annotation
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any
      VALUE_PARAMETER name:other index:0 type:kotlin.Any?
    FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
      overridden:
        public open fun hashCode (): kotlin.Int declared in kotlin.Annotation
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any
    FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
      overridden:
        public open fun toString (): kotlin.String declared in kotlin.Annotation
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any
Module: main
FILE fqName:<root> fileName:/main.kt
  FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String
    BLOCK_BODY
      WHEN type=kotlin.Unit origin=IF
        BRANCH
          if: CALL 'public final fun not (): kotlin.Boolean declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ
            $this: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ
              arg0: CALL 'public final fun ok (): kotlin.String declared in <root>.C' type=kotlin.String origin=null
                $this: CONSTRUCTOR_CALL 'public constructor <init> () declared in <root>.C' type=<root>.C<kotlin.String> origin=null
                  <class: T>: kotlin.String
              arg1: CONST String type=kotlin.String value="OK"
          then: RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in <root>'
            CONST String type=kotlin.String value="FAIL 1"
      WHEN type=kotlin.Unit origin=IF
        BRANCH
          if: CALL 'public final fun not (): kotlin.Boolean declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ
            $this: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ
              arg0: CALL 'public final fun f (p: kotlin.String): kotlin.String declared in <root>' type=kotlin.String origin=null
                p: CONST String type=kotlin.String value="OK"
              arg1: CONST String type=kotlin.String value="OK"
          then: RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in <root>'
            CONST String type=kotlin.String value="FAIL 2"
      WHEN type=kotlin.Unit origin=IF
        BRANCH
          if: CALL 'public final fun not (): kotlin.Boolean declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ
            $this: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ
              arg0: CALL 'public final fun <get-ok> (): kotlin.String declared in <root>' type=kotlin.String origin=GET_PROPERTY
              arg1: CONST String type=kotlin.String value="OK"
          then: RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in <root>'
            CONST String type=kotlin.String value="FAIL 3"
      WHEN type=kotlin.Unit origin=IF
        BRANCH
          if: CALL 'public final fun not (): kotlin.Boolean declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ
            $this: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ
              arg0: CALL 'public final fun <get-name> (): kotlin.String declared in <root>.E' type=kotlin.String origin=GET_PROPERTY
                $this: GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:OK' type=<root>.E
              arg1: CONST String type=kotlin.String value="OK"
          then: RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in <root>'
            CONST String type=kotlin.String value="FAIL 4"
      RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in <root>'
        CONST String type=kotlin.String value="OK"
