FILE fqName:<root> fileName:/1.kt
  CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[kotlin.Number]
    thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name:<this> type:<root>.A
    CONSTRUCTOR visibility:public returnType:<root>.A [primary]
      BLOCK_BODY
        DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in kotlin.Number'
        INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[kotlin.Number]' type=kotlin.Unit
    FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [fake_override,operator]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Any
      VALUE_PARAMETER kind:Regular name:other index:1 type:kotlin.Any?
      overridden:
        public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Number
    FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN returnType:kotlin.Int [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Any
      overridden:
        public open fun hashCode (): kotlin.Int declared in kotlin.Number
    FUN FAKE_OVERRIDE name:toByte visibility:public modality:ABSTRACT returnType:kotlin.Byte [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Number
      overridden:
        public abstract fun toByte (): kotlin.Byte declared in kotlin.Number
    FUN FAKE_OVERRIDE name:toChar visibility:public modality:OPEN returnType:kotlin.Char [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Number
      annotations:
        Deprecated(message = "Direct conversion to Char is deprecated. Use toInt().toChar() or Char constructor instead.
If you override toChar() function in your Number inheritor, it's recommended to gradually deprecate the overriding function and then remove it.
See https://youtrack.jetbrains.com/issue/KT-46465 for details about the migration", replaceWith = ReplaceWith(expression = "this.toInt().toChar()", imports = [] type=kotlin.Array<out kotlin.String> varargElementType=kotlin.String), level = <null>)
        DeprecatedSinceKotlin(warningSince = "1.9", errorSince = "2.3", hiddenSince = <null>)
      overridden:
        public open fun toChar (): kotlin.Char declared in kotlin.Number
    FUN FAKE_OVERRIDE name:toDouble visibility:public modality:ABSTRACT returnType:kotlin.Double [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Number
      overridden:
        public abstract fun toDouble (): kotlin.Double declared in kotlin.Number
    FUN FAKE_OVERRIDE name:toFloat visibility:public modality:ABSTRACT returnType:kotlin.Float [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Number
      overridden:
        public abstract fun toFloat (): kotlin.Float declared in kotlin.Number
    FUN FAKE_OVERRIDE name:toInt visibility:public modality:ABSTRACT returnType:kotlin.Int [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Number
      overridden:
        public abstract fun toInt (): kotlin.Int declared in kotlin.Number
    FUN FAKE_OVERRIDE name:toLong visibility:public modality:ABSTRACT returnType:kotlin.Long [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Number
      overridden:
        public abstract fun toLong (): kotlin.Long declared in kotlin.Number
    FUN FAKE_OVERRIDE name:toShort visibility:public modality:ABSTRACT returnType:kotlin.Short [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Number
      overridden:
        public abstract fun toShort (): kotlin.Short declared in kotlin.Number
    FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN returnType:kotlin.String [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Any
      overridden:
        public open fun toString (): kotlin.String declared in kotlin.Number
  CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[<root>.Java1]
    thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name:<this> type:<root>.B
    CONSTRUCTOR visibility:public returnType:<root>.B [primary]
      BLOCK_BODY
        DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in <root>.Java1'
        INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[<root>.Java1]' type=kotlin.Unit
    FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [fake_override,operator]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Any
      VALUE_PARAMETER kind:Regular name:other index:1 type:kotlin.Any?
      overridden:
        public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in <root>.Java1
    FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN returnType:kotlin.Int [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Any
      overridden:
        public open fun hashCode (): kotlin.Int declared in <root>.Java1
    FUN FAKE_OVERRIDE name:toByte visibility:public modality:ABSTRACT returnType:kotlin.Byte [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Number
      overridden:
        public abstract fun toByte (): kotlin.Byte declared in <root>.Java1
    FUN FAKE_OVERRIDE name:toChar visibility:public modality:OPEN returnType:kotlin.Char [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Number
      annotations:
        Deprecated(message = "Direct conversion to Char is deprecated. Use toInt().toChar() or Char constructor instead.
If you override toChar() function in your Number inheritor, it's recommended to gradually deprecate the overriding function and then remove it.
See https://youtrack.jetbrains.com/issue/KT-46465 for details about the migration", replaceWith = ReplaceWith(expression = "this.toInt().toChar()", imports = [] type=kotlin.Array<out kotlin.String> varargElementType=kotlin.String), level = <null>)
        DeprecatedSinceKotlin(warningSince = "1.9", errorSince = "2.3", hiddenSince = <null>)
      overridden:
        public open fun toChar (): kotlin.Char declared in <root>.Java1
    FUN FAKE_OVERRIDE name:toDouble visibility:public modality:ABSTRACT returnType:kotlin.Double [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Number
      overridden:
        public abstract fun toDouble (): kotlin.Double declared in <root>.Java1
    FUN FAKE_OVERRIDE name:toFloat visibility:public modality:ABSTRACT returnType:kotlin.Float [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Number
      overridden:
        public abstract fun toFloat (): kotlin.Float declared in <root>.Java1
    FUN FAKE_OVERRIDE name:toInt visibility:public modality:ABSTRACT returnType:kotlin.Int [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Number
      overridden:
        public abstract fun toInt (): kotlin.Int declared in <root>.Java1
    FUN FAKE_OVERRIDE name:toLong visibility:public modality:ABSTRACT returnType:kotlin.Long [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Number
      overridden:
        public abstract fun toLong (): kotlin.Long declared in <root>.Java1
    FUN FAKE_OVERRIDE name:toShort visibility:public modality:ABSTRACT returnType:kotlin.Short [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Number
      overridden:
        public abstract fun toShort (): kotlin.Short declared in <root>.Java1
    FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN returnType:kotlin.String [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Any
      overridden:
        public open fun toString (): kotlin.String declared in <root>.Java1
  CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[<root>.Java1]
    thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name:<this> type:<root>.C
    CONSTRUCTOR visibility:public returnType:<root>.C [primary]
      BLOCK_BODY
        DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in <root>.Java1'
        INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[<root>.Java1]' type=kotlin.Unit
    FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [fake_override,operator]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Any
      VALUE_PARAMETER kind:Regular name:other index:1 type:kotlin.Any?
      overridden:
        public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in <root>.Java1
    FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN returnType:kotlin.Int [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Any
      overridden:
        public open fun hashCode (): kotlin.Int declared in <root>.Java1
    FUN FAKE_OVERRIDE name:toChar visibility:public modality:OPEN returnType:kotlin.Char [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Number
      annotations:
        Deprecated(message = "Direct conversion to Char is deprecated. Use toInt().toChar() or Char constructor instead.
If you override toChar() function in your Number inheritor, it's recommended to gradually deprecate the overriding function and then remove it.
See https://youtrack.jetbrains.com/issue/KT-46465 for details about the migration", replaceWith = ReplaceWith(expression = "this.toInt().toChar()", imports = [] type=kotlin.Array<out kotlin.String> varargElementType=kotlin.String), level = <null>)
        DeprecatedSinceKotlin(warningSince = "1.9", errorSince = "2.3", hiddenSince = <null>)
      overridden:
        public open fun toChar (): kotlin.Char declared in <root>.Java1
    FUN FAKE_OVERRIDE name:toDouble visibility:public modality:ABSTRACT returnType:kotlin.Double [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Number
      overridden:
        public abstract fun toDouble (): kotlin.Double declared in <root>.Java1
    FUN FAKE_OVERRIDE name:toFloat visibility:public modality:ABSTRACT returnType:kotlin.Float [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Number
      overridden:
        public abstract fun toFloat (): kotlin.Float declared in <root>.Java1
    FUN FAKE_OVERRIDE name:toInt visibility:public modality:ABSTRACT returnType:kotlin.Int [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Number
      overridden:
        public abstract fun toInt (): kotlin.Int declared in <root>.Java1
    FUN FAKE_OVERRIDE name:toLong visibility:public modality:ABSTRACT returnType:kotlin.Long [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Number
      overridden:
        public abstract fun toLong (): kotlin.Long declared in <root>.Java1
    FUN FAKE_OVERRIDE name:toShort visibility:public modality:ABSTRACT returnType:kotlin.Short [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Number
      overridden:
        public abstract fun toShort (): kotlin.Short declared in <root>.Java1
    FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN returnType:kotlin.String [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Any
      overridden:
        public open fun toString (): kotlin.String declared in <root>.Java1
    FUN name:toByte visibility:public modality:OPEN returnType:kotlin.Byte
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:<root>.C
      overridden:
        public abstract fun toByte (): kotlin.Byte declared in <root>.Java1
      BLOCK_BODY
        RETURN type=kotlin.Nothing from='public open fun toByte (): kotlin.Byte declared in <root>.C'
          CONST Byte type=kotlin.Byte value=1
  CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[<root>.Java2]
    thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name:<this> type:<root>.D
    CONSTRUCTOR visibility:public returnType:<root>.D [primary]
      BLOCK_BODY
        DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in <root>.Java2'
        INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:D modality:ABSTRACT visibility:public superTypes:[<root>.Java2]' type=kotlin.Unit
    FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [fake_override,operator]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Any
      VALUE_PARAMETER kind:Regular name:other index:1 type:kotlin.Any?
      overridden:
        public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in <root>.Java2
    FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN returnType:kotlin.Int [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Any
      overridden:
        public open fun hashCode (): kotlin.Int declared in <root>.Java2
    FUN FAKE_OVERRIDE name:toByte visibility:public modality:OPEN returnType:kotlin.Byte [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:<root>.Java2
      annotations:
        Override
      overridden:
        public open fun toByte (): kotlin.Byte declared in <root>.Java2
    FUN FAKE_OVERRIDE name:toChar visibility:public modality:OPEN returnType:kotlin.Char [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Number
      annotations:
        Deprecated(message = "Direct conversion to Char is deprecated. Use toInt().toChar() or Char constructor instead.
If you override toChar() function in your Number inheritor, it's recommended to gradually deprecate the overriding function and then remove it.
See https://youtrack.jetbrains.com/issue/KT-46465 for details about the migration", replaceWith = ReplaceWith(expression = "this.toInt().toChar()", imports = [] type=kotlin.Array<out kotlin.String> varargElementType=kotlin.String), level = <null>)
        DeprecatedSinceKotlin(warningSince = "1.9", errorSince = "2.3", hiddenSince = <null>)
      overridden:
        public open fun toChar (): kotlin.Char declared in <root>.Java2
    FUN FAKE_OVERRIDE name:toDouble visibility:public modality:OPEN returnType:kotlin.Double [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:<root>.Java2
      annotations:
        Override
      overridden:
        public open fun toDouble (): kotlin.Double declared in <root>.Java2
    FUN FAKE_OVERRIDE name:toFloat visibility:public modality:OPEN returnType:kotlin.Float [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:<root>.Java2
      annotations:
        Override
      overridden:
        public open fun toFloat (): kotlin.Float declared in <root>.Java2
    FUN FAKE_OVERRIDE name:toInt visibility:public modality:OPEN returnType:kotlin.Int [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:<root>.Java2
      annotations:
        Override
      overridden:
        public open fun toInt (): kotlin.Int declared in <root>.Java2
    FUN FAKE_OVERRIDE name:toLong visibility:public modality:OPEN returnType:kotlin.Long [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:<root>.Java2
      annotations:
        Override
      overridden:
        public open fun toLong (): kotlin.Long declared in <root>.Java2
    FUN FAKE_OVERRIDE name:toShort visibility:public modality:OPEN returnType:kotlin.Short [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:<root>.Java2
      annotations:
        Override
      overridden:
        public open fun toShort (): kotlin.Short declared in <root>.Java2
    FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN returnType:kotlin.String [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Any
      overridden:
        public open fun toString (): kotlin.String declared in <root>.Java2
  CLASS CLASS name:E modality:FINAL visibility:public superTypes:[<root>.Java2]
    thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name:<this> type:<root>.E
    CONSTRUCTOR visibility:public returnType:<root>.E [primary]
      BLOCK_BODY
        DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in <root>.Java2'
        INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:E modality:FINAL visibility:public superTypes:[<root>.Java2]' type=kotlin.Unit
    FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [fake_override,operator]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Any
      VALUE_PARAMETER kind:Regular name:other index:1 type:kotlin.Any?
      overridden:
        public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in <root>.Java2
    FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN returnType:kotlin.Int [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Any
      overridden:
        public open fun hashCode (): kotlin.Int declared in <root>.Java2
    FUN FAKE_OVERRIDE name:toChar visibility:public modality:OPEN returnType:kotlin.Char [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Number
      annotations:
        Deprecated(message = "Direct conversion to Char is deprecated. Use toInt().toChar() or Char constructor instead.
If you override toChar() function in your Number inheritor, it's recommended to gradually deprecate the overriding function and then remove it.
See https://youtrack.jetbrains.com/issue/KT-46465 for details about the migration", replaceWith = ReplaceWith(expression = "this.toInt().toChar()", imports = [] type=kotlin.Array<out kotlin.String> varargElementType=kotlin.String), level = <null>)
        DeprecatedSinceKotlin(warningSince = "1.9", errorSince = "2.3", hiddenSince = <null>)
      overridden:
        public open fun toChar (): kotlin.Char declared in <root>.Java2
    FUN FAKE_OVERRIDE name:toDouble visibility:public modality:OPEN returnType:kotlin.Double [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:<root>.Java2
      annotations:
        Override
      overridden:
        public open fun toDouble (): kotlin.Double declared in <root>.Java2
    FUN FAKE_OVERRIDE name:toFloat visibility:public modality:OPEN returnType:kotlin.Float [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:<root>.Java2
      annotations:
        Override
      overridden:
        public open fun toFloat (): kotlin.Float declared in <root>.Java2
    FUN FAKE_OVERRIDE name:toInt visibility:public modality:OPEN returnType:kotlin.Int [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:<root>.Java2
      annotations:
        Override
      overridden:
        public open fun toInt (): kotlin.Int declared in <root>.Java2
    FUN FAKE_OVERRIDE name:toLong visibility:public modality:OPEN returnType:kotlin.Long [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:<root>.Java2
      annotations:
        Override
      overridden:
        public open fun toLong (): kotlin.Long declared in <root>.Java2
    FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN returnType:kotlin.String [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Any
      overridden:
        public open fun toString (): kotlin.String declared in <root>.Java2
    FUN name:toByte visibility:public modality:OPEN returnType:kotlin.Byte
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:<root>.E
      overridden:
        public open fun toByte (): kotlin.Byte declared in <root>.Java2
      BLOCK_BODY
        RETURN type=kotlin.Nothing from='public open fun toByte (): kotlin.Byte declared in <root>.E'
          CONST Byte type=kotlin.Byte value=5
    FUN name:toShort visibility:public modality:OPEN returnType:kotlin.Short
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:<root>.E
      overridden:
        public open fun toShort (): kotlin.Short declared in <root>.Java2
      BLOCK_BODY
        RETURN type=kotlin.Nothing from='public open fun toShort (): kotlin.Short declared in <root>.E'
          CONST Short type=kotlin.Short value=6
  CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[<root>.A; <root>.Java3]
    thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name:<this> type:<root>.F
    CONSTRUCTOR visibility:public returnType:<root>.F [primary]
      BLOCK_BODY
        DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in <root>.A'
        INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:F modality:ABSTRACT visibility:public superTypes:[<root>.A; <root>.Java3]' type=kotlin.Unit
    FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [fake_override,operator]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Any
      VALUE_PARAMETER kind:Regular name:other index:1 type:kotlin.Any?
      overridden:
        public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in <root>.A
        public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in <root>.Java3
    FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN returnType:kotlin.Int [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Any
      overridden:
        public open fun hashCode (): kotlin.Int declared in <root>.A
        public open fun hashCode (): kotlin.Int declared in <root>.Java3
    FUN FAKE_OVERRIDE name:toByte visibility:public modality:ABSTRACT returnType:kotlin.Byte [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Number
      overridden:
        public abstract fun toByte (): kotlin.Byte declared in <root>.A
    FUN FAKE_OVERRIDE name:toChar visibility:public modality:OPEN returnType:kotlin.Char [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Number
      annotations:
        Deprecated(message = "Direct conversion to Char is deprecated. Use toInt().toChar() or Char constructor instead.
If you override toChar() function in your Number inheritor, it's recommended to gradually deprecate the overriding function and then remove it.
See https://youtrack.jetbrains.com/issue/KT-46465 for details about the migration", replaceWith = ReplaceWith(expression = "this.toInt().toChar()", imports = [] type=kotlin.Array<out kotlin.String> varargElementType=kotlin.String), level = <null>)
        DeprecatedSinceKotlin(warningSince = "1.9", errorSince = "2.3", hiddenSince = <null>)
      overridden:
        public open fun toChar (): kotlin.Char declared in <root>.A
    FUN FAKE_OVERRIDE name:toDouble visibility:public modality:OPEN returnType:kotlin.Double [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Number
      overridden:
        public abstract fun toDouble (): kotlin.Double declared in <root>.A
        public open fun toDouble (): kotlin.Double declared in <root>.Java3
    FUN FAKE_OVERRIDE name:toFloat visibility:public modality:ABSTRACT returnType:kotlin.Float [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Number
      overridden:
        public abstract fun toFloat (): kotlin.Float declared in <root>.A
    FUN FAKE_OVERRIDE name:toInt visibility:public modality:ABSTRACT returnType:kotlin.Int [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Number
      overridden:
        public abstract fun toInt (): kotlin.Int declared in <root>.A
    FUN FAKE_OVERRIDE name:toLong visibility:public modality:ABSTRACT returnType:kotlin.Long [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Number
      overridden:
        public abstract fun toLong (): kotlin.Long declared in <root>.A
    FUN FAKE_OVERRIDE name:toShort visibility:public modality:ABSTRACT returnType:kotlin.Short [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Number
      overridden:
        public abstract fun toShort (): kotlin.Short declared in <root>.A
    FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN returnType:kotlin.String [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Any
      overridden:
        public open fun toString (): kotlin.String declared in <root>.A
        public open fun toString (): kotlin.String declared in <root>.Java3
  CLASS CLASS name:G modality:ABSTRACT visibility:public superTypes:[<root>.A; <root>.Java3]
    thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name:<this> type:<root>.G
    CONSTRUCTOR visibility:public returnType:<root>.G [primary]
      BLOCK_BODY
        DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in <root>.A'
        INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:G modality:ABSTRACT visibility:public superTypes:[<root>.A; <root>.Java3]' type=kotlin.Unit
    FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [fake_override,operator]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Any
      VALUE_PARAMETER kind:Regular name:other index:1 type:kotlin.Any?
      overridden:
        public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in <root>.A
        public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in <root>.Java3
    FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN returnType:kotlin.Int [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Any
      overridden:
        public open fun hashCode (): kotlin.Int declared in <root>.A
        public open fun hashCode (): kotlin.Int declared in <root>.Java3
    FUN FAKE_OVERRIDE name:toByte visibility:public modality:ABSTRACT returnType:kotlin.Byte [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Number
      overridden:
        public abstract fun toByte (): kotlin.Byte declared in <root>.A
    FUN FAKE_OVERRIDE name:toChar visibility:public modality:OPEN returnType:kotlin.Char [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Number
      annotations:
        Deprecated(message = "Direct conversion to Char is deprecated. Use toInt().toChar() or Char constructor instead.
If you override toChar() function in your Number inheritor, it's recommended to gradually deprecate the overriding function and then remove it.
See https://youtrack.jetbrains.com/issue/KT-46465 for details about the migration", replaceWith = ReplaceWith(expression = "this.toInt().toChar()", imports = [] type=kotlin.Array<out kotlin.String> varargElementType=kotlin.String), level = <null>)
        DeprecatedSinceKotlin(warningSince = "1.9", errorSince = "2.3", hiddenSince = <null>)
      overridden:
        public open fun toChar (): kotlin.Char declared in <root>.A
    FUN FAKE_OVERRIDE name:toDouble visibility:public modality:OPEN returnType:kotlin.Double [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Number
      overridden:
        public abstract fun toDouble (): kotlin.Double declared in <root>.A
        public open fun toDouble (): kotlin.Double declared in <root>.Java3
    FUN FAKE_OVERRIDE name:toLong visibility:public modality:ABSTRACT returnType:kotlin.Long [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Number
      overridden:
        public abstract fun toLong (): kotlin.Long declared in <root>.A
    FUN FAKE_OVERRIDE name:toShort visibility:public modality:ABSTRACT returnType:kotlin.Short [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Number
      overridden:
        public abstract fun toShort (): kotlin.Short declared in <root>.A
    FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN returnType:kotlin.String [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Any
      overridden:
        public open fun toString (): kotlin.String declared in <root>.A
        public open fun toString (): kotlin.String declared in <root>.Java3
    FUN name:toFloat visibility:public modality:OPEN returnType:kotlin.Float
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:<root>.G
      overridden:
        public abstract fun toFloat (): kotlin.Float declared in <root>.A
      BLOCK_BODY
        RETURN type=kotlin.Nothing from='public open fun toFloat (): kotlin.Float declared in <root>.G'
          CONST Float type=kotlin.Float value=1.0
    FUN name:toInt visibility:public modality:OPEN returnType:kotlin.Int
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:<root>.G
      overridden:
        public abstract fun toInt (): kotlin.Int declared in <root>.A
      BLOCK_BODY
        RETURN type=kotlin.Nothing from='public open fun toInt (): kotlin.Int declared in <root>.G'
          CONST Int type=kotlin.Int value=1
  CLASS CLASS name:H modality:ABSTRACT visibility:public superTypes:[<root>.Java1; <root>.Java3]
    thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name:<this> type:<root>.H
    CONSTRUCTOR visibility:public returnType:<root>.H [primary]
      BLOCK_BODY
        DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in <root>.Java1'
        INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:H modality:ABSTRACT visibility:public superTypes:[<root>.Java1; <root>.Java3]' type=kotlin.Unit
    FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [fake_override,operator]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Any
      VALUE_PARAMETER kind:Regular name:other index:1 type:kotlin.Any?
      overridden:
        public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in <root>.Java1
        public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in <root>.Java3
    FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN returnType:kotlin.Int [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Any
      overridden:
        public open fun hashCode (): kotlin.Int declared in <root>.Java1
        public open fun hashCode (): kotlin.Int declared in <root>.Java3
    FUN FAKE_OVERRIDE name:toByte visibility:public modality:ABSTRACT returnType:kotlin.Byte [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Number
      overridden:
        public abstract fun toByte (): kotlin.Byte declared in <root>.Java1
    FUN FAKE_OVERRIDE name:toChar visibility:public modality:OPEN returnType:kotlin.Char [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Number
      annotations:
        Deprecated(message = "Direct conversion to Char is deprecated. Use toInt().toChar() or Char constructor instead.
If you override toChar() function in your Number inheritor, it's recommended to gradually deprecate the overriding function and then remove it.
See https://youtrack.jetbrains.com/issue/KT-46465 for details about the migration", replaceWith = ReplaceWith(expression = "this.toInt().toChar()", imports = [] type=kotlin.Array<out kotlin.String> varargElementType=kotlin.String), level = <null>)
        DeprecatedSinceKotlin(warningSince = "1.9", errorSince = "2.3", hiddenSince = <null>)
      overridden:
        public open fun toChar (): kotlin.Char declared in <root>.Java1
    FUN FAKE_OVERRIDE name:toDouble visibility:public modality:OPEN returnType:kotlin.Double [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Number
      overridden:
        public abstract fun toDouble (): kotlin.Double declared in <root>.Java1
        public open fun toDouble (): kotlin.Double declared in <root>.Java3
    FUN FAKE_OVERRIDE name:toFloat visibility:public modality:ABSTRACT returnType:kotlin.Float [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Number
      overridden:
        public abstract fun toFloat (): kotlin.Float declared in <root>.Java1
    FUN FAKE_OVERRIDE name:toInt visibility:public modality:ABSTRACT returnType:kotlin.Int [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Number
      overridden:
        public abstract fun toInt (): kotlin.Int declared in <root>.Java1
    FUN FAKE_OVERRIDE name:toLong visibility:public modality:ABSTRACT returnType:kotlin.Long [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Number
      overridden:
        public abstract fun toLong (): kotlin.Long declared in <root>.Java1
    FUN FAKE_OVERRIDE name:toShort visibility:public modality:ABSTRACT returnType:kotlin.Short [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Number
      overridden:
        public abstract fun toShort (): kotlin.Short declared in <root>.Java1
    FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN returnType:kotlin.String [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Any
      overridden:
        public open fun toString (): kotlin.String declared in <root>.Java1
        public open fun toString (): kotlin.String declared in <root>.Java3
  CLASS CLASS name:I modality:ABSTRACT visibility:public superTypes:[<root>.Java1; <root>.Java3]
    thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name:<this> type:<root>.I
    CONSTRUCTOR visibility:public returnType:<root>.I [primary]
      BLOCK_BODY
        DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in <root>.Java1'
        INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:I modality:ABSTRACT visibility:public superTypes:[<root>.Java1; <root>.Java3]' type=kotlin.Unit
    FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [fake_override,operator]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Any
      VALUE_PARAMETER kind:Regular name:other index:1 type:kotlin.Any?
      overridden:
        public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in <root>.Java1
        public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in <root>.Java3
    FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN returnType:kotlin.Int [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Any
      overridden:
        public open fun hashCode (): kotlin.Int declared in <root>.Java1
        public open fun hashCode (): kotlin.Int declared in <root>.Java3
    FUN FAKE_OVERRIDE name:toByte visibility:public modality:ABSTRACT returnType:kotlin.Byte [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Number
      overridden:
        public abstract fun toByte (): kotlin.Byte declared in <root>.Java1
    FUN FAKE_OVERRIDE name:toChar visibility:public modality:OPEN returnType:kotlin.Char [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Number
      annotations:
        Deprecated(message = "Direct conversion to Char is deprecated. Use toInt().toChar() or Char constructor instead.
If you override toChar() function in your Number inheritor, it's recommended to gradually deprecate the overriding function and then remove it.
See https://youtrack.jetbrains.com/issue/KT-46465 for details about the migration", replaceWith = ReplaceWith(expression = "this.toInt().toChar()", imports = [] type=kotlin.Array<out kotlin.String> varargElementType=kotlin.String), level = <null>)
        DeprecatedSinceKotlin(warningSince = "1.9", errorSince = "2.3", hiddenSince = <null>)
      overridden:
        public open fun toChar (): kotlin.Char declared in <root>.Java1
    FUN FAKE_OVERRIDE name:toDouble visibility:public modality:OPEN returnType:kotlin.Double [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Number
      overridden:
        public abstract fun toDouble (): kotlin.Double declared in <root>.Java1
        public open fun toDouble (): kotlin.Double declared in <root>.Java3
    FUN FAKE_OVERRIDE name:toFloat visibility:public modality:ABSTRACT returnType:kotlin.Float [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Number
      overridden:
        public abstract fun toFloat (): kotlin.Float declared in <root>.Java1
    FUN FAKE_OVERRIDE name:toInt visibility:public modality:ABSTRACT returnType:kotlin.Int [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Number
      overridden:
        public abstract fun toInt (): kotlin.Int declared in <root>.Java1
    FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN returnType:kotlin.String [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Any
      overridden:
        public open fun toString (): kotlin.String declared in <root>.Java1
        public open fun toString (): kotlin.String declared in <root>.Java3
    FUN name:toLong visibility:public modality:OPEN returnType:kotlin.Long
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:<root>.I
      overridden:
        public abstract fun toLong (): kotlin.Long declared in <root>.Java1
      BLOCK_BODY
        RETURN type=kotlin.Nothing from='public open fun toLong (): kotlin.Long declared in <root>.I'
          CONST Long type=kotlin.Long value=1
    FUN name:toShort visibility:public modality:OPEN returnType:kotlin.Short
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:<root>.I
      overridden:
        public abstract fun toShort (): kotlin.Short declared in <root>.Java1
      BLOCK_BODY
        RETURN type=kotlin.Nothing from='public open fun toShort (): kotlin.Short declared in <root>.I'
          CONST Short type=kotlin.Short value=1
  FUN name:test visibility:public modality:FINAL returnType:kotlin.Unit
    VALUE_PARAMETER kind:Regular name:a index:0 type:<root>.A
    VALUE_PARAMETER kind:Regular name:b index:1 type:<root>.B
    VALUE_PARAMETER kind:Regular name:c index:2 type:<root>.C
    VALUE_PARAMETER kind:Regular name:d index:3 type:<root>.D
    VALUE_PARAMETER kind:Regular name:e index:4 type:<root>.E
    VALUE_PARAMETER kind:Regular name:f index:5 type:<root>.F
    VALUE_PARAMETER kind:Regular name:g index:6 type:<root>.G
    VALUE_PARAMETER kind:Regular name:h index:7 type:<root>.H
    VALUE_PARAMETER kind:Regular name:i index:8 type:<root>.I
    BLOCK_BODY
      TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
        CALL 'public abstract fun toInt (): kotlin.Int declared in <root>.A' type=kotlin.Int origin=null
          ARG <this>: GET_VAR 'a: <root>.A declared in <root>.test' type=<root>.A origin=null
      TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
        CALL 'public abstract fun toShort (): kotlin.Short declared in <root>.A' type=kotlin.Short origin=null
          ARG <this>: GET_VAR 'a: <root>.A declared in <root>.test' type=<root>.A origin=null
      TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
        CALL 'public abstract fun toByte (): kotlin.Byte declared in <root>.B' type=kotlin.Byte origin=null
          ARG <this>: GET_VAR 'b: <root>.B declared in <root>.test' type=<root>.B origin=null
      TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
        CALL 'public abstract fun toLong (): kotlin.Long declared in <root>.B' type=kotlin.Long origin=null
          ARG <this>: GET_VAR 'b: <root>.B declared in <root>.test' type=<root>.B origin=null
      TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
        CALL 'public open fun toByte (): kotlin.Byte declared in <root>.C' type=kotlin.Byte origin=null
          ARG <this>: GET_VAR 'c: <root>.C declared in <root>.test' type=<root>.C origin=null
      TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
        CALL 'public abstract fun toInt (): kotlin.Int declared in <root>.C' type=kotlin.Int origin=null
          ARG <this>: GET_VAR 'c: <root>.C declared in <root>.test' type=<root>.C origin=null
      TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
        CALL 'public open fun toShort (): kotlin.Short declared in <root>.D' type=kotlin.Short origin=null
          ARG <this>: GET_VAR 'd: <root>.D declared in <root>.test' type=<root>.D origin=null
      TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
        CALL 'public open fun toInt (): kotlin.Int declared in <root>.D' type=kotlin.Int origin=null
          ARG <this>: GET_VAR 'd: <root>.D declared in <root>.test' type=<root>.D origin=null
      TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
        CALL 'public open fun toFloat (): kotlin.Float declared in <root>.E' type=kotlin.Float origin=null
          ARG <this>: GET_VAR 'e: <root>.E declared in <root>.test' type=<root>.E origin=null
      TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
        CALL 'public open fun toByte (): kotlin.Byte declared in <root>.E' type=kotlin.Byte origin=null
          ARG <this>: GET_VAR 'e: <root>.E declared in <root>.test' type=<root>.E origin=null
      TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
        CALL 'public open fun toInt (): kotlin.Int declared in <root>.G' type=kotlin.Int origin=null
          ARG <this>: GET_VAR 'g: <root>.G declared in <root>.test' type=<root>.G origin=null
      TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
        CALL 'public abstract fun toByte (): kotlin.Byte declared in <root>.G' type=kotlin.Byte origin=null
          ARG <this>: GET_VAR 'g: <root>.G declared in <root>.test' type=<root>.G origin=null
      TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
        CALL 'public open fun toDouble (): kotlin.Double declared in <root>.H' type=kotlin.Double origin=null
          ARG <this>: GET_VAR 'h: <root>.H declared in <root>.test' type=<root>.H origin=null
      TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
        CALL 'public abstract fun toByte (): kotlin.Byte declared in <root>.H' type=kotlin.Byte origin=null
          ARG <this>: GET_VAR 'h: <root>.H declared in <root>.test' type=<root>.H origin=null
      TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
        CALL 'public abstract fun toByte (): kotlin.Byte declared in <root>.I' type=kotlin.Byte origin=null
          ARG <this>: GET_VAR 'i: <root>.I declared in <root>.test' type=<root>.I origin=null
      TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
        CALL 'public open fun toShort (): kotlin.Short declared in <root>.I' type=kotlin.Short origin=null
          ARG <this>: GET_VAR 'i: <root>.I declared in <root>.test' type=<root>.I origin=null
