FILE /values.kt
  CLASS ENUM_CLASS Enum
    $this: VALUE_PARAMETER this@Enum: Enum
    CONSTRUCTOR private constructor Enum()
      BLOCK_BODY
        ENUM_CONSTRUCTOR_CALL 'constructor Enum(String, Int)'
          <E : Enum<E>>: null
        INSTANCE_INITIALIZER_CALL classDescriptor='Enum'
    ENUM_ENTRY enum entry A
      init: ENUM_CONSTRUCTOR_CALL 'constructor Enum()'
    FUN FAKE_OVERRIDE protected final override fun clone(): kotlin.Any
      $this: VALUE_PARAMETER this@Enum: Enum<Enum>
    FUN FAKE_OVERRIDE protected/*protected and package*/ final override fun finalize(): kotlin.Unit
      $this: VALUE_PARAMETER this@Enum: Enum<Enum>
    FUN FAKE_OVERRIDE public final override fun getDeclaringClass(): java.lang.Class<Enum!>!
      $this: VALUE_PARAMETER this@Enum: Enum<Enum>
    FUN FAKE_OVERRIDE public final override fun compareTo(other: Enum): kotlin.Int
      $this: VALUE_PARAMETER this@Enum: Enum<Enum>
      VALUE_PARAMETER value-parameter other: Enum
    FUN FAKE_OVERRIDE public final override fun equals(other: kotlin.Any?): kotlin.Boolean
      $this: VALUE_PARAMETER this@Enum: Enum<Enum>
      VALUE_PARAMETER value-parameter other: kotlin.Any?
    FUN FAKE_OVERRIDE public final override fun hashCode(): kotlin.Int
      $this: VALUE_PARAMETER this@Enum: Enum<Enum>
    PROPERTY FAKE_OVERRIDE public final override val name: kotlin.String
      FUN FAKE_OVERRIDE public final override fun <get-name>(): kotlin.String
        $this: VALUE_PARAMETER this@Enum: Enum<Enum>
    PROPERTY FAKE_OVERRIDE public final override val ordinal: kotlin.Int
      FUN FAKE_OVERRIDE public final override fun <get-ordinal>(): kotlin.Int
        $this: VALUE_PARAMETER this@Enum: Enum<Enum>
    FUN FAKE_OVERRIDE public open override fun toString(): kotlin.String
      $this: VALUE_PARAMETER this@Enum: Enum<Enum>
    FUN ENUM_CLASS_SPECIAL_MEMBER public final fun values(): kotlin.Array<Enum>
      SYNTHETIC_BODY kind=ENUM_VALUES
    FUN ENUM_CLASS_SPECIAL_MEMBER public final fun valueOf(value: kotlin.String): Enum
      VALUE_PARAMETER value-parameter value: kotlin.String
      SYNTHETIC_BODY kind=ENUM_VALUEOF
  CLASS OBJECT A
    $this: VALUE_PARAMETER this@A: A
    CONSTRUCTOR private constructor A()
      BLOCK_BODY
        DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
        INSTANCE_INITIALIZER_CALL classDescriptor='A'
    FUN FAKE_OVERRIDE public open override fun equals(other: kotlin.Any?): kotlin.Boolean
      $this: VALUE_PARAMETER this@Any: Any
      VALUE_PARAMETER value-parameter other: kotlin.Any?
    FUN FAKE_OVERRIDE public open override fun hashCode(): kotlin.Int
      $this: VALUE_PARAMETER this@Any: Any
    FUN FAKE_OVERRIDE public open override fun toString(): kotlin.String
      $this: VALUE_PARAMETER this@Any: Any
  PROPERTY public val a: kotlin.Int = 0
    FIELD PROPERTY_BACKING_FIELD public val a: kotlin.Int = 0
      EXPRESSION_BODY
        CONST Int type=kotlin.Int value='0'
    FUN DEFAULT_PROPERTY_ACCESSOR public fun <get-a>(): kotlin.Int
      BLOCK_BODY
        RETURN type=kotlin.Nothing from='<get-a>(): Int'
          GET_FIELD 'a: Int' type=kotlin.Int origin=null
  CLASS CLASS Z
    $this: VALUE_PARAMETER this@Z: Z
    CONSTRUCTOR public constructor Z()
      BLOCK_BODY
        DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
        INSTANCE_INITIALIZER_CALL classDescriptor='Z'
    CLASS OBJECT companion object of Z
      $this: VALUE_PARAMETER this@Companion: Companion
      CONSTRUCTOR private constructor Companion()
        BLOCK_BODY
          DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
          INSTANCE_INITIALIZER_CALL classDescriptor='companion object of Z'
      FUN FAKE_OVERRIDE public open override fun equals(other: kotlin.Any?): kotlin.Boolean
        $this: VALUE_PARAMETER this@Any: Any
        VALUE_PARAMETER value-parameter other: kotlin.Any?
      FUN FAKE_OVERRIDE public open override fun hashCode(): kotlin.Int
        $this: VALUE_PARAMETER this@Any: Any
      FUN FAKE_OVERRIDE public open override fun toString(): kotlin.String
        $this: VALUE_PARAMETER this@Any: Any
    FUN FAKE_OVERRIDE public open override fun equals(other: kotlin.Any?): kotlin.Boolean
      $this: VALUE_PARAMETER this@Any: Any
      VALUE_PARAMETER value-parameter other: kotlin.Any?
    FUN FAKE_OVERRIDE public open override fun hashCode(): kotlin.Int
      $this: VALUE_PARAMETER this@Any: Any
    FUN FAKE_OVERRIDE public open override fun toString(): kotlin.String
      $this: VALUE_PARAMETER this@Any: Any
  FUN public fun test1(): Enum
    BLOCK_BODY
      RETURN type=kotlin.Nothing from='test1(): Enum'
        GET_ENUM 'A' type=Enum
  FUN public fun test2(): A
    BLOCK_BODY
      RETURN type=kotlin.Nothing from='test2(): A'
        GET_OBJECT 'A' type=A
  FUN public fun test3(): kotlin.Int
    BLOCK_BODY
      RETURN type=kotlin.Nothing from='test3(): Int'
        CALL '<get-a>(): Int' type=kotlin.Int origin=GET_PROPERTY
  FUN public fun test4(): Z.Companion
    BLOCK_BODY
      RETURN type=kotlin.Nothing from='test4(): Z.Companion'
        GET_OBJECT 'companion object of Z' type=Z.Companion

