FILE fqName:<root> fileName:/1.kt
  CLASS CLASS name:A modality:ABSTRACT visibility:public superTypes:[kotlin.Number]
    $this: VALUE_PARAMETER INSTANCE_RECEIVER 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]'
    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.Number
      $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.Number
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any
    FUN FAKE_OVERRIDE name:toByte visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Byte [fake_override]
      overridden:
        public abstract fun toByte (): kotlin.Byte declared in kotlin.Number
      $this: VALUE_PARAMETER name:<this> type:kotlin.Number
    FUN FAKE_OVERRIDE name:toChar visibility:public modality:OPEN <> ($this:kotlin.Number) returnType:kotlin.Char [fake_override]
      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 = []), level = <null>)
        DeprecatedSinceKotlin(warningSince = "1.9", errorSince = "2.3", hiddenSince = <null>)
      overridden:
        public open fun toChar (): kotlin.Char declared in kotlin.Number
      $this: VALUE_PARAMETER name:<this> type:kotlin.Number
    FUN FAKE_OVERRIDE name:toDouble visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Double [fake_override]
      overridden:
        public abstract fun toDouble (): kotlin.Double declared in kotlin.Number
      $this: VALUE_PARAMETER name:<this> type:kotlin.Number
    FUN FAKE_OVERRIDE name:toFloat visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Float [fake_override]
      overridden:
        public abstract fun toFloat (): kotlin.Float declared in kotlin.Number
      $this: VALUE_PARAMETER name:<this> type:kotlin.Number
    FUN FAKE_OVERRIDE name:toInt visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Int [fake_override]
      overridden:
        public abstract fun toInt (): kotlin.Int declared in kotlin.Number
      $this: VALUE_PARAMETER name:<this> type:kotlin.Number
    FUN FAKE_OVERRIDE name:toLong visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Long [fake_override]
      overridden:
        public abstract fun toLong (): kotlin.Long declared in kotlin.Number
      $this: VALUE_PARAMETER name:<this> type:kotlin.Number
    FUN FAKE_OVERRIDE name:toShort visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Short [fake_override]
      overridden:
        public abstract fun toShort (): kotlin.Short declared in kotlin.Number
      $this: VALUE_PARAMETER name:<this> type:kotlin.Number
    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.Number
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any
  CLASS CLASS name:B modality:ABSTRACT visibility:public superTypes:[<root>.Java1]
    $this: VALUE_PARAMETER INSTANCE_RECEIVER 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]'
    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 <root>.Java1
      $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 <root>.Java1
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any
    FUN FAKE_OVERRIDE name:toByte visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Byte [fake_override]
      overridden:
        public abstract fun toByte (): kotlin.Byte declared in <root>.Java1
      $this: VALUE_PARAMETER name:<this> type:kotlin.Number
    FUN FAKE_OVERRIDE name:toChar visibility:public modality:OPEN <> ($this:kotlin.Number) returnType:kotlin.Char [fake_override]
      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 = []), level = <null>)
        DeprecatedSinceKotlin(warningSince = "1.9", errorSince = "2.3", hiddenSince = <null>)
      overridden:
        public open fun toChar (): kotlin.Char declared in <root>.Java1
      $this: VALUE_PARAMETER name:<this> type:kotlin.Number
    FUN FAKE_OVERRIDE name:toDouble visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Double [fake_override]
      overridden:
        public abstract fun toDouble (): kotlin.Double declared in <root>.Java1
      $this: VALUE_PARAMETER name:<this> type:kotlin.Number
    FUN FAKE_OVERRIDE name:toFloat visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Float [fake_override]
      overridden:
        public abstract fun toFloat (): kotlin.Float declared in <root>.Java1
      $this: VALUE_PARAMETER name:<this> type:kotlin.Number
    FUN FAKE_OVERRIDE name:toInt visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Int [fake_override]
      overridden:
        public abstract fun toInt (): kotlin.Int declared in <root>.Java1
      $this: VALUE_PARAMETER name:<this> type:kotlin.Number
    FUN FAKE_OVERRIDE name:toLong visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Long [fake_override]
      overridden:
        public abstract fun toLong (): kotlin.Long declared in <root>.Java1
      $this: VALUE_PARAMETER name:<this> type:kotlin.Number
    FUN FAKE_OVERRIDE name:toShort visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Short [fake_override]
      overridden:
        public abstract fun toShort (): kotlin.Short declared in <root>.Java1
      $this: VALUE_PARAMETER name:<this> type:kotlin.Number
    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 <root>.Java1
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any
  CLASS CLASS name:C modality:ABSTRACT visibility:public superTypes:[<root>.Java1]
    $this: VALUE_PARAMETER INSTANCE_RECEIVER 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]'
    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 <root>.Java1
      $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 <root>.Java1
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any
    FUN FAKE_OVERRIDE name:toChar visibility:public modality:OPEN <> ($this:kotlin.Number) returnType:kotlin.Char [fake_override]
      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 = []), level = <null>)
        DeprecatedSinceKotlin(warningSince = "1.9", errorSince = "2.3", hiddenSince = <null>)
      overridden:
        public open fun toChar (): kotlin.Char declared in <root>.Java1
      $this: VALUE_PARAMETER name:<this> type:kotlin.Number
    FUN FAKE_OVERRIDE name:toDouble visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Double [fake_override]
      overridden:
        public abstract fun toDouble (): kotlin.Double declared in <root>.Java1
      $this: VALUE_PARAMETER name:<this> type:kotlin.Number
    FUN FAKE_OVERRIDE name:toFloat visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Float [fake_override]
      overridden:
        public abstract fun toFloat (): kotlin.Float declared in <root>.Java1
      $this: VALUE_PARAMETER name:<this> type:kotlin.Number
    FUN FAKE_OVERRIDE name:toInt visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Int [fake_override]
      overridden:
        public abstract fun toInt (): kotlin.Int declared in <root>.Java1
      $this: VALUE_PARAMETER name:<this> type:kotlin.Number
    FUN FAKE_OVERRIDE name:toLong visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Long [fake_override]
      overridden:
        public abstract fun toLong (): kotlin.Long declared in <root>.Java1
      $this: VALUE_PARAMETER name:<this> type:kotlin.Number
    FUN FAKE_OVERRIDE name:toShort visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Short [fake_override]
      overridden:
        public abstract fun toShort (): kotlin.Short declared in <root>.Java1
      $this: VALUE_PARAMETER name:<this> type:kotlin.Number
    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 <root>.Java1
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any
    FUN name:toByte visibility:public modality:OPEN <> ($this:<root>.C) returnType:kotlin.Byte
      overridden:
        public abstract fun toByte (): kotlin.Byte declared in <root>.Java1
      $this: VALUE_PARAMETER name:<this> type:<root>.C
      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]
    $this: VALUE_PARAMETER INSTANCE_RECEIVER 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]'
    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 <root>.Java2
      $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 <root>.Java2
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any
    FUN FAKE_OVERRIDE name:toByte visibility:public modality:OPEN <> ($this:<root>.Java2) returnType:kotlin.Byte [fake_override]
      annotations:
        Override
      overridden:
        public open fun toByte (): kotlin.Byte declared in <root>.Java2
      $this: VALUE_PARAMETER name:<this> type:<root>.Java2
    FUN FAKE_OVERRIDE name:toChar visibility:public modality:OPEN <> ($this:kotlin.Number) returnType:kotlin.Char [fake_override]
      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 = []), level = <null>)
        DeprecatedSinceKotlin(warningSince = "1.9", errorSince = "2.3", hiddenSince = <null>)
      overridden:
        public open fun toChar (): kotlin.Char declared in <root>.Java2
      $this: VALUE_PARAMETER name:<this> type:kotlin.Number
    FUN FAKE_OVERRIDE name:toDouble visibility:public modality:OPEN <> ($this:<root>.Java2) returnType:kotlin.Double [fake_override]
      annotations:
        Override
      overridden:
        public open fun toDouble (): kotlin.Double declared in <root>.Java2
      $this: VALUE_PARAMETER name:<this> type:<root>.Java2
    FUN FAKE_OVERRIDE name:toFloat visibility:public modality:OPEN <> ($this:<root>.Java2) returnType:kotlin.Float [fake_override]
      annotations:
        Override
      overridden:
        public open fun toFloat (): kotlin.Float declared in <root>.Java2
      $this: VALUE_PARAMETER name:<this> type:<root>.Java2
    FUN FAKE_OVERRIDE name:toInt visibility:public modality:OPEN <> ($this:<root>.Java2) returnType:kotlin.Int [fake_override]
      annotations:
        Override
      overridden:
        public open fun toInt (): kotlin.Int declared in <root>.Java2
      $this: VALUE_PARAMETER name:<this> type:<root>.Java2
    FUN FAKE_OVERRIDE name:toLong visibility:public modality:OPEN <> ($this:<root>.Java2) returnType:kotlin.Long [fake_override]
      annotations:
        Override
      overridden:
        public open fun toLong (): kotlin.Long declared in <root>.Java2
      $this: VALUE_PARAMETER name:<this> type:<root>.Java2
    FUN FAKE_OVERRIDE name:toShort visibility:public modality:OPEN <> ($this:<root>.Java2) returnType:kotlin.Short [fake_override]
      annotations:
        Override
      overridden:
        public open fun toShort (): kotlin.Short declared in <root>.Java2
      $this: VALUE_PARAMETER name:<this> type:<root>.Java2
    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 <root>.Java2
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any
  CLASS CLASS name:E modality:FINAL visibility:public superTypes:[<root>.Java2]
    $this: VALUE_PARAMETER INSTANCE_RECEIVER 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]'
    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 <root>.Java2
      $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 <root>.Java2
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any
    FUN FAKE_OVERRIDE name:toChar visibility:public modality:OPEN <> ($this:kotlin.Number) returnType:kotlin.Char [fake_override]
      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 = []), level = <null>)
        DeprecatedSinceKotlin(warningSince = "1.9", errorSince = "2.3", hiddenSince = <null>)
      overridden:
        public open fun toChar (): kotlin.Char declared in <root>.Java2
      $this: VALUE_PARAMETER name:<this> type:kotlin.Number
    FUN FAKE_OVERRIDE name:toDouble visibility:public modality:OPEN <> ($this:<root>.Java2) returnType:kotlin.Double [fake_override]
      annotations:
        Override
      overridden:
        public open fun toDouble (): kotlin.Double declared in <root>.Java2
      $this: VALUE_PARAMETER name:<this> type:<root>.Java2
    FUN FAKE_OVERRIDE name:toFloat visibility:public modality:OPEN <> ($this:<root>.Java2) returnType:kotlin.Float [fake_override]
      annotations:
        Override
      overridden:
        public open fun toFloat (): kotlin.Float declared in <root>.Java2
      $this: VALUE_PARAMETER name:<this> type:<root>.Java2
    FUN FAKE_OVERRIDE name:toInt visibility:public modality:OPEN <> ($this:<root>.Java2) returnType:kotlin.Int [fake_override]
      annotations:
        Override
      overridden:
        public open fun toInt (): kotlin.Int declared in <root>.Java2
      $this: VALUE_PARAMETER name:<this> type:<root>.Java2
    FUN FAKE_OVERRIDE name:toLong visibility:public modality:OPEN <> ($this:<root>.Java2) returnType:kotlin.Long [fake_override]
      annotations:
        Override
      overridden:
        public open fun toLong (): kotlin.Long declared in <root>.Java2
      $this: VALUE_PARAMETER name:<this> type:<root>.Java2
    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 <root>.Java2
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any
    FUN name:toByte visibility:public modality:OPEN <> ($this:<root>.E) returnType:kotlin.Byte
      overridden:
        public open fun toByte (): kotlin.Byte declared in <root>.Java2
      $this: VALUE_PARAMETER name:<this> type:<root>.E
      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 <> ($this:<root>.E) returnType:kotlin.Short
      overridden:
        public open fun toShort (): kotlin.Short declared in <root>.Java2
      $this: VALUE_PARAMETER name:<this> type:<root>.E
      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]
    $this: VALUE_PARAMETER INSTANCE_RECEIVER 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]'
    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 <root>.A
        public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in <root>.Java3
      $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 <root>.A
        public open fun hashCode (): kotlin.Int declared in <root>.Java3
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any
    FUN FAKE_OVERRIDE name:toByte visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Byte [fake_override]
      overridden:
        public abstract fun toByte (): kotlin.Byte declared in <root>.A
      $this: VALUE_PARAMETER name:<this> type:kotlin.Number
    FUN FAKE_OVERRIDE name:toChar visibility:public modality:OPEN <> ($this:kotlin.Number) returnType:kotlin.Char [fake_override]
      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 = []), level = <null>)
        DeprecatedSinceKotlin(warningSince = "1.9", errorSince = "2.3", hiddenSince = <null>)
      overridden:
        public open fun toChar (): kotlin.Char declared in <root>.A
      $this: VALUE_PARAMETER name:<this> type:kotlin.Number
    FUN FAKE_OVERRIDE name:toDouble visibility:public modality:OPEN <> ($this:kotlin.Number) returnType:kotlin.Double [fake_override]
      overridden:
        public abstract fun toDouble (): kotlin.Double declared in <root>.A
        public open fun toDouble (): kotlin.Double declared in <root>.Java3
      $this: VALUE_PARAMETER name:<this> type:kotlin.Number
    FUN FAKE_OVERRIDE name:toFloat visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Float [fake_override]
      overridden:
        public abstract fun toFloat (): kotlin.Float declared in <root>.A
      $this: VALUE_PARAMETER name:<this> type:kotlin.Number
    FUN FAKE_OVERRIDE name:toInt visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Int [fake_override]
      overridden:
        public abstract fun toInt (): kotlin.Int declared in <root>.A
      $this: VALUE_PARAMETER name:<this> type:kotlin.Number
    FUN FAKE_OVERRIDE name:toLong visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Long [fake_override]
      overridden:
        public abstract fun toLong (): kotlin.Long declared in <root>.A
      $this: VALUE_PARAMETER name:<this> type:kotlin.Number
    FUN FAKE_OVERRIDE name:toShort visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Short [fake_override]
      overridden:
        public abstract fun toShort (): kotlin.Short declared in <root>.A
      $this: VALUE_PARAMETER name:<this> type:kotlin.Number
    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 <root>.A
        public open fun toString (): kotlin.String declared in <root>.Java3
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any
  CLASS CLASS name:G modality:ABSTRACT visibility:public superTypes:[<root>.A; <root>.Java3]
    $this: VALUE_PARAMETER INSTANCE_RECEIVER 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]'
    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 <root>.A
        public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in <root>.Java3
      $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 <root>.A
        public open fun hashCode (): kotlin.Int declared in <root>.Java3
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any
    FUN FAKE_OVERRIDE name:toByte visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Byte [fake_override]
      overridden:
        public abstract fun toByte (): kotlin.Byte declared in <root>.A
      $this: VALUE_PARAMETER name:<this> type:kotlin.Number
    FUN FAKE_OVERRIDE name:toChar visibility:public modality:OPEN <> ($this:kotlin.Number) returnType:kotlin.Char [fake_override]
      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 = []), level = <null>)
        DeprecatedSinceKotlin(warningSince = "1.9", errorSince = "2.3", hiddenSince = <null>)
      overridden:
        public open fun toChar (): kotlin.Char declared in <root>.A
      $this: VALUE_PARAMETER name:<this> type:kotlin.Number
    FUN FAKE_OVERRIDE name:toDouble visibility:public modality:OPEN <> ($this:kotlin.Number) returnType:kotlin.Double [fake_override]
      overridden:
        public abstract fun toDouble (): kotlin.Double declared in <root>.A
        public open fun toDouble (): kotlin.Double declared in <root>.Java3
      $this: VALUE_PARAMETER name:<this> type:kotlin.Number
    FUN FAKE_OVERRIDE name:toLong visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Long [fake_override]
      overridden:
        public abstract fun toLong (): kotlin.Long declared in <root>.A
      $this: VALUE_PARAMETER name:<this> type:kotlin.Number
    FUN FAKE_OVERRIDE name:toShort visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Short [fake_override]
      overridden:
        public abstract fun toShort (): kotlin.Short declared in <root>.A
      $this: VALUE_PARAMETER name:<this> type:kotlin.Number
    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 <root>.A
        public open fun toString (): kotlin.String declared in <root>.Java3
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any
    FUN name:toFloat visibility:public modality:OPEN <> ($this:<root>.G) returnType:kotlin.Float
      overridden:
        public abstract fun toFloat (): kotlin.Float declared in <root>.A
      $this: VALUE_PARAMETER name:<this> type:<root>.G
      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 <> ($this:<root>.G) returnType:kotlin.Int
      overridden:
        public abstract fun toInt (): kotlin.Int declared in <root>.A
      $this: VALUE_PARAMETER name:<this> type:<root>.G
      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]
    $this: VALUE_PARAMETER INSTANCE_RECEIVER 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]'
    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 <root>.Java1
        public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in <root>.Java3
      $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 <root>.Java1
        public open fun hashCode (): kotlin.Int declared in <root>.Java3
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any
    FUN FAKE_OVERRIDE name:toByte visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Byte [fake_override]
      overridden:
        public abstract fun toByte (): kotlin.Byte declared in <root>.Java1
      $this: VALUE_PARAMETER name:<this> type:kotlin.Number
    FUN FAKE_OVERRIDE name:toChar visibility:public modality:OPEN <> ($this:kotlin.Number) returnType:kotlin.Char [fake_override]
      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 = []), level = <null>)
        DeprecatedSinceKotlin(warningSince = "1.9", errorSince = "2.3", hiddenSince = <null>)
      overridden:
        public open fun toChar (): kotlin.Char declared in <root>.Java1
      $this: VALUE_PARAMETER name:<this> type:kotlin.Number
    FUN FAKE_OVERRIDE name:toDouble visibility:public modality:OPEN <> ($this:kotlin.Number) returnType:kotlin.Double [fake_override]
      overridden:
        public abstract fun toDouble (): kotlin.Double declared in <root>.Java1
        public open fun toDouble (): kotlin.Double declared in <root>.Java3
      $this: VALUE_PARAMETER name:<this> type:kotlin.Number
    FUN FAKE_OVERRIDE name:toFloat visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Float [fake_override]
      overridden:
        public abstract fun toFloat (): kotlin.Float declared in <root>.Java1
      $this: VALUE_PARAMETER name:<this> type:kotlin.Number
    FUN FAKE_OVERRIDE name:toInt visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Int [fake_override]
      overridden:
        public abstract fun toInt (): kotlin.Int declared in <root>.Java1
      $this: VALUE_PARAMETER name:<this> type:kotlin.Number
    FUN FAKE_OVERRIDE name:toLong visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Long [fake_override]
      overridden:
        public abstract fun toLong (): kotlin.Long declared in <root>.Java1
      $this: VALUE_PARAMETER name:<this> type:kotlin.Number
    FUN FAKE_OVERRIDE name:toShort visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Short [fake_override]
      overridden:
        public abstract fun toShort (): kotlin.Short declared in <root>.Java1
      $this: VALUE_PARAMETER name:<this> type:kotlin.Number
    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 <root>.Java1
        public open fun toString (): kotlin.String declared in <root>.Java3
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any
  CLASS CLASS name:I modality:ABSTRACT visibility:public superTypes:[<root>.Java1; <root>.Java3]
    $this: VALUE_PARAMETER INSTANCE_RECEIVER 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]'
    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 <root>.Java1
        public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in <root>.Java3
      $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 <root>.Java1
        public open fun hashCode (): kotlin.Int declared in <root>.Java3
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any
    FUN FAKE_OVERRIDE name:toByte visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Byte [fake_override]
      overridden:
        public abstract fun toByte (): kotlin.Byte declared in <root>.Java1
      $this: VALUE_PARAMETER name:<this> type:kotlin.Number
    FUN FAKE_OVERRIDE name:toChar visibility:public modality:OPEN <> ($this:kotlin.Number) returnType:kotlin.Char [fake_override]
      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 = []), level = <null>)
        DeprecatedSinceKotlin(warningSince = "1.9", errorSince = "2.3", hiddenSince = <null>)
      overridden:
        public open fun toChar (): kotlin.Char declared in <root>.Java1
      $this: VALUE_PARAMETER name:<this> type:kotlin.Number
    FUN FAKE_OVERRIDE name:toDouble visibility:public modality:OPEN <> ($this:kotlin.Number) returnType:kotlin.Double [fake_override]
      overridden:
        public abstract fun toDouble (): kotlin.Double declared in <root>.Java1
        public open fun toDouble (): kotlin.Double declared in <root>.Java3
      $this: VALUE_PARAMETER name:<this> type:kotlin.Number
    FUN FAKE_OVERRIDE name:toFloat visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Float [fake_override]
      overridden:
        public abstract fun toFloat (): kotlin.Float declared in <root>.Java1
      $this: VALUE_PARAMETER name:<this> type:kotlin.Number
    FUN FAKE_OVERRIDE name:toInt visibility:public modality:ABSTRACT <> ($this:kotlin.Number) returnType:kotlin.Int [fake_override]
      overridden:
        public abstract fun toInt (): kotlin.Int declared in <root>.Java1
      $this: VALUE_PARAMETER name:<this> type:kotlin.Number
    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 <root>.Java1
        public open fun toString (): kotlin.String declared in <root>.Java3
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any
    FUN name:toLong visibility:public modality:OPEN <> ($this:<root>.I) returnType:kotlin.Long
      overridden:
        public abstract fun toLong (): kotlin.Long declared in <root>.Java1
      $this: VALUE_PARAMETER name:<this> type:<root>.I
      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 <> ($this:<root>.I) returnType:kotlin.Short
      overridden:
        public abstract fun toShort (): kotlin.Short declared in <root>.Java1
      $this: VALUE_PARAMETER name:<this> type:<root>.I
      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 <> (a:<root>.A, b:<root>.B, c:<root>.C, d:<root>.D, e:<root>.E, f:<root>.F, g:<root>.G, h:<root>.H, i:<root>.I) returnType:kotlin.Unit
    VALUE_PARAMETER name:a index:0 type:<root>.A
    VALUE_PARAMETER name:b index:1 type:<root>.B
    VALUE_PARAMETER name:c index:2 type:<root>.C
    VALUE_PARAMETER name:d index:3 type:<root>.D
    VALUE_PARAMETER name:e index:4 type:<root>.E
    VALUE_PARAMETER name:f index:5 type:<root>.F
    VALUE_PARAMETER name:g index:6 type:<root>.G
    VALUE_PARAMETER name:h index:7 type:<root>.H
    VALUE_PARAMETER 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
          $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
          $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
          $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
          $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
          $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
          $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
          $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
          $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
          $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
          $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
          $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
          $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
          $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
          $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
          $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
          $this: GET_VAR 'i: <root>.I declared in <root>.test' type=<root>.I origin=null
