[Test] KT-61360: add tests for the IrFakeOverrideBuilder

Add tests for fake overrides with focus on java interoperability

Co-authored-by: Aleksandra Arsenteva <aleksandra.arsenteva@jetbrains.com>
This commit is contained in:
anzhela.sukhanova
2024-01-19 18:22:17 +02:00
committed by Space Team
parent 30aae741a6
commit 82255d5ee8
853 changed files with 269404 additions and 0 deletions
@@ -0,0 +1,589 @@
FILE fqName:<root> fileName:/1.kt
CLASS ENUM_CLASS name:A modality:FINAL visibility:public superTypes:[<root>.Java1; kotlin.Enum<<root>.A>]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.A
CONSTRUCTOR visibility:private <> () returnType:<root>.A [primary]
BLOCK_BODY
ENUM_CONSTRUCTOR_CALL 'public constructor <init> (name: kotlin.String, ordinal: kotlin.Int) declared in kotlin.Enum'
<E>: <root>.A
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:A modality:FINAL visibility:public superTypes:[<root>.Java1; kotlin.Enum<<root>.A>]'
FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:<root>.A
VALUE_PARAMETER name:value index:0 type:kotlin.String
SYNTHETIC_BODY kind=ENUM_VALUEOF
FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<<root>.A>
SYNTHETIC_BODY kind=ENUM_VALUES
FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.A>, other:<root>.A) returnType:kotlin.Int [fake_override,operator]
overridden:
public final fun compareTo (other: E of kotlin.Enum): kotlin.Int declared in kotlin.Enum
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.A>
VALUE_PARAMETER name:other index:0 type:<root>.A
FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($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 final fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Enum
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:<root>.Java1, i:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override]
overridden:
public abstract fun foo (i: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in <root>.Java1
$this: VALUE_PARAMETER name:<this> type:<root>.Java1
VALUE_PARAMETER name:i index:0 type:@[FlexibleNullability] kotlin.Int?
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
overridden:
public open fun hashCode (): kotlin.Int declared in <root>.Java1
public final fun hashCode (): kotlin.Int declared in kotlin.Enum
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
overridden:
public open fun toString (): kotlin.String declared in <root>.Java1
public open fun toString (): kotlin.String declared in kotlin.Enum
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
PROPERTY ENUM_CLASS_SPECIAL_MEMBER name:entries visibility:public modality:FINAL [val]
FUN ENUM_CLASS_SPECIAL_MEMBER name:<get-entries> visibility:public modality:FINAL <> () returnType:kotlin.enums.EnumEntries<<root>.A>
correspondingProperty: PROPERTY ENUM_CLASS_SPECIAL_MEMBER name:entries visibility:public modality:FINAL [val]
SYNTHETIC_BODY kind=ENUM_ENTRIES
PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val]
annotations:
IntrinsicConstEvaluation
overridden:
public final name: kotlin.String
FUN FAKE_OVERRIDE name:<get-name> visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.A>) returnType:kotlin.String [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val]
overridden:
public final fun <get-name> (): kotlin.String declared in kotlin.Enum
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.A>
PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val]
overridden:
public final ordinal: kotlin.Int
FUN FAKE_OVERRIDE name:<get-ordinal> visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.A>) returnType:kotlin.Int [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val]
overridden:
public final fun <get-ordinal> (): kotlin.Int declared in kotlin.Enum
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.A>
CLASS ENUM_CLASS name:B modality:OPEN visibility:public superTypes:[<root>.Java1; kotlin.Enum<<root>.B>]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.B
ENUM_ENTRY name:FIRST
init: EXPRESSION_BODY
ENUM_CONSTRUCTOR_CALL 'private constructor <init> () declared in <root>.B.FIRST'
class: CLASS ENUM_ENTRY name:FIRST modality:FINAL visibility:private superTypes:[<root>.B]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.B.FIRST
CONSTRUCTOR visibility:private <> () returnType:<root>.B.FIRST [primary]
BLOCK_BODY
ENUM_CONSTRUCTOR_CALL 'private constructor <init> () declared in <root>.B'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:FIRST modality:FINAL visibility:private superTypes:[<root>.B]'
FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.B>, other:<root>.B) returnType:kotlin.Int [fake_override,operator]
overridden:
public final fun compareTo (other: <root>.B): kotlin.Int declared in <root>.B
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.B>
VALUE_PARAMETER name:other index:0 type:<root>.B
FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public final fun equals (other: kotlin.Any?): kotlin.Boolean declared in <root>.B
$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:FINAL <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
overridden:
public final fun hashCode (): kotlin.Int declared in <root>.B
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
overridden:
public open fun toString (): kotlin.String declared in <root>.B
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN name:foo visibility:public modality:OPEN <> ($this:<root>.B.FIRST, i:kotlin.Int) returnType:kotlin.Unit
overridden:
public open fun foo (i: kotlin.Int): kotlin.Unit declared in <root>.B
$this: VALUE_PARAMETER name:<this> type:<root>.B.FIRST
VALUE_PARAMETER name:i index:0 type:kotlin.Int
BLOCK_BODY
PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val]
annotations:
IntrinsicConstEvaluation
overridden:
public final name: kotlin.String
FUN FAKE_OVERRIDE name:<get-name> visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.B>) returnType:kotlin.String [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val]
overridden:
public final fun <get-name> (): kotlin.String declared in <root>.B
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.B>
PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val]
overridden:
public final ordinal: kotlin.Int
FUN FAKE_OVERRIDE name:<get-ordinal> visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.B>) returnType:kotlin.Int [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val]
overridden:
public final fun <get-ordinal> (): kotlin.Int declared in <root>.B
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.B>
ENUM_ENTRY name:SECOND
init: EXPRESSION_BODY
ENUM_CONSTRUCTOR_CALL 'private constructor <init> () declared in <root>.B'
CONSTRUCTOR visibility:private <> () returnType:<root>.B [primary]
BLOCK_BODY
ENUM_CONSTRUCTOR_CALL 'public constructor <init> (name: kotlin.String, ordinal: kotlin.Int) declared in kotlin.Enum'
<E>: <root>.B
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:B modality:OPEN visibility:public superTypes:[<root>.Java1; kotlin.Enum<<root>.B>]'
FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:<root>.B
VALUE_PARAMETER name:value index:0 type:kotlin.String
SYNTHETIC_BODY kind=ENUM_VALUEOF
FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<<root>.B>
SYNTHETIC_BODY kind=ENUM_VALUES
FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.B>, other:<root>.B) returnType:kotlin.Int [fake_override,operator]
overridden:
public final fun compareTo (other: E of kotlin.Enum): kotlin.Int declared in kotlin.Enum
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.B>
VALUE_PARAMETER name:other index:0 type:<root>.B
FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($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 final fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Enum
$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:FINAL <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
overridden:
public open fun hashCode (): kotlin.Int declared in <root>.Java1
public final fun hashCode (): kotlin.Int declared in kotlin.Enum
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
overridden:
public open fun toString (): kotlin.String declared in <root>.Java1
public open fun toString (): kotlin.String declared in kotlin.Enum
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN name:foo visibility:public modality:OPEN <> ($this:<root>.B, i:kotlin.Int) returnType:kotlin.Unit
overridden:
public abstract fun foo (i: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in <root>.Java1
$this: VALUE_PARAMETER name:<this> type:<root>.B
VALUE_PARAMETER name:i index:0 type:kotlin.Int
BLOCK_BODY
PROPERTY ENUM_CLASS_SPECIAL_MEMBER name:entries visibility:public modality:FINAL [val]
FUN ENUM_CLASS_SPECIAL_MEMBER name:<get-entries> visibility:public modality:FINAL <> () returnType:kotlin.enums.EnumEntries<<root>.B>
correspondingProperty: PROPERTY ENUM_CLASS_SPECIAL_MEMBER name:entries visibility:public modality:FINAL [val]
SYNTHETIC_BODY kind=ENUM_ENTRIES
PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val]
annotations:
IntrinsicConstEvaluation
overridden:
public final name: kotlin.String
FUN FAKE_OVERRIDE name:<get-name> visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.B>) returnType:kotlin.String [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val]
overridden:
public final fun <get-name> (): kotlin.String declared in kotlin.Enum
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.B>
PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val]
overridden:
public final ordinal: kotlin.Int
FUN FAKE_OVERRIDE name:<get-ordinal> visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.B>) returnType:kotlin.Int [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val]
overridden:
public final fun <get-ordinal> (): kotlin.Int declared in kotlin.Enum
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.B>
CLASS ENUM_CLASS name:C modality:FINAL visibility:public superTypes:[<root>.Java2; kotlin.Enum<<root>.C>]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.C
CONSTRUCTOR visibility:private <> () returnType:<root>.C [primary]
BLOCK_BODY
ENUM_CONSTRUCTOR_CALL 'public constructor <init> (name: kotlin.String, ordinal: kotlin.Int) declared in kotlin.Enum'
<E>: <root>.C
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:C modality:FINAL visibility:public superTypes:[<root>.Java2; kotlin.Enum<<root>.C>]'
FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:<root>.C
VALUE_PARAMETER name:value index:0 type:kotlin.String
SYNTHETIC_BODY kind=ENUM_VALUEOF
FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<<root>.C>
SYNTHETIC_BODY kind=ENUM_VALUES
FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.C>, other:<root>.C) returnType:kotlin.Int [fake_override,operator]
overridden:
public final fun compareTo (other: E of kotlin.Enum): kotlin.Int declared in kotlin.Enum
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.C>
VALUE_PARAMETER name:other index:0 type:<root>.C
FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($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
public final fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Enum
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
FUN FAKE_OVERRIDE name:foo visibility:public modality:OPEN <> ($this:<root>.KotlinInterface, i:kotlin.Int) returnType:kotlin.Unit [fake_override]
overridden:
public open fun foo (i: kotlin.Int): kotlin.Unit declared in <root>.Java2
$this: VALUE_PARAMETER name:<this> type:<root>.KotlinInterface
VALUE_PARAMETER name:i index:0 type:kotlin.Int
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
overridden:
public open fun hashCode (): kotlin.Int declared in <root>.Java2
public final fun hashCode (): kotlin.Int declared in kotlin.Enum
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
overridden:
public open fun toString (): kotlin.String declared in <root>.Java2
public open fun toString (): kotlin.String declared in kotlin.Enum
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
PROPERTY ENUM_CLASS_SPECIAL_MEMBER name:entries visibility:public modality:FINAL [val]
FUN ENUM_CLASS_SPECIAL_MEMBER name:<get-entries> visibility:public modality:FINAL <> () returnType:kotlin.enums.EnumEntries<<root>.C>
correspondingProperty: PROPERTY ENUM_CLASS_SPECIAL_MEMBER name:entries visibility:public modality:FINAL [val]
SYNTHETIC_BODY kind=ENUM_ENTRIES
PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val]
annotations:
IntrinsicConstEvaluation
overridden:
public final name: kotlin.String
FUN FAKE_OVERRIDE name:<get-name> visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.C>) returnType:kotlin.String [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val]
overridden:
public final fun <get-name> (): kotlin.String declared in kotlin.Enum
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.C>
PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val]
overridden:
public final ordinal: kotlin.Int
FUN FAKE_OVERRIDE name:<get-ordinal> visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.C>) returnType:kotlin.Int [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val]
overridden:
public final fun <get-ordinal> (): kotlin.Int declared in kotlin.Enum
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.C>
CLASS ENUM_CLASS name:D modality:OPEN visibility:public superTypes:[<root>.Java2; kotlin.Enum<<root>.D>]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.D
ENUM_ENTRY name:FIRST
init: EXPRESSION_BODY
ENUM_CONSTRUCTOR_CALL 'private constructor <init> () declared in <root>.D.FIRST'
class: CLASS ENUM_ENTRY name:FIRST modality:FINAL visibility:private superTypes:[<root>.D]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.D.FIRST
CONSTRUCTOR visibility:private <> () returnType:<root>.D.FIRST [primary]
BLOCK_BODY
ENUM_CONSTRUCTOR_CALL 'private constructor <init> () declared in <root>.D'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:FIRST modality:FINAL visibility:private superTypes:[<root>.D]'
FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.D>, other:<root>.D) returnType:kotlin.Int [fake_override,operator]
overridden:
public final fun compareTo (other: <root>.D): kotlin.Int declared in <root>.D
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.D>
VALUE_PARAMETER name:other index:0 type:<root>.D
FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public final fun equals (other: kotlin.Any?): kotlin.Boolean declared in <root>.D
$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:FINAL <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
overridden:
public final fun hashCode (): kotlin.Int declared in <root>.D
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
overridden:
public open fun toString (): kotlin.String declared in <root>.D
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN name:foo visibility:public modality:OPEN <> ($this:<root>.D.FIRST, i:kotlin.Int) returnType:kotlin.Unit
overridden:
public open fun foo (i: kotlin.Int): kotlin.Unit declared in <root>.D
$this: VALUE_PARAMETER name:<this> type:<root>.D.FIRST
VALUE_PARAMETER name:i index:0 type:kotlin.Int
BLOCK_BODY
PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val]
annotations:
IntrinsicConstEvaluation
overridden:
public final name: kotlin.String
FUN FAKE_OVERRIDE name:<get-name> visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.D>) returnType:kotlin.String [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val]
overridden:
public final fun <get-name> (): kotlin.String declared in <root>.D
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.D>
PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val]
overridden:
public final ordinal: kotlin.Int
FUN FAKE_OVERRIDE name:<get-ordinal> visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.D>) returnType:kotlin.Int [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val]
overridden:
public final fun <get-ordinal> (): kotlin.Int declared in <root>.D
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.D>
CONSTRUCTOR visibility:private <> () returnType:<root>.D [primary]
BLOCK_BODY
ENUM_CONSTRUCTOR_CALL 'public constructor <init> (name: kotlin.String, ordinal: kotlin.Int) declared in kotlin.Enum'
<E>: <root>.D
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:D modality:OPEN visibility:public superTypes:[<root>.Java2; kotlin.Enum<<root>.D>]'
FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:<root>.D
VALUE_PARAMETER name:value index:0 type:kotlin.String
SYNTHETIC_BODY kind=ENUM_VALUEOF
FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<<root>.D>
SYNTHETIC_BODY kind=ENUM_VALUES
FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.D>, other:<root>.D) returnType:kotlin.Int [fake_override,operator]
overridden:
public final fun compareTo (other: E of kotlin.Enum): kotlin.Int declared in kotlin.Enum
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.D>
VALUE_PARAMETER name:other index:0 type:<root>.D
FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($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
public final fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Enum
$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:FINAL <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
overridden:
public open fun hashCode (): kotlin.Int declared in <root>.Java2
public final fun hashCode (): kotlin.Int declared in kotlin.Enum
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
overridden:
public open fun toString (): kotlin.String declared in <root>.Java2
public open fun toString (): kotlin.String declared in kotlin.Enum
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN name:foo visibility:public modality:OPEN <> ($this:<root>.D, i:kotlin.Int) returnType:kotlin.Unit
overridden:
public open fun foo (i: kotlin.Int): kotlin.Unit declared in <root>.Java2
$this: VALUE_PARAMETER name:<this> type:<root>.D
VALUE_PARAMETER name:i index:0 type:kotlin.Int
BLOCK_BODY
PROPERTY ENUM_CLASS_SPECIAL_MEMBER name:entries visibility:public modality:FINAL [val]
FUN ENUM_CLASS_SPECIAL_MEMBER name:<get-entries> visibility:public modality:FINAL <> () returnType:kotlin.enums.EnumEntries<<root>.D>
correspondingProperty: PROPERTY ENUM_CLASS_SPECIAL_MEMBER name:entries visibility:public modality:FINAL [val]
SYNTHETIC_BODY kind=ENUM_ENTRIES
PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val]
annotations:
IntrinsicConstEvaluation
overridden:
public final name: kotlin.String
FUN FAKE_OVERRIDE name:<get-name> visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.D>) returnType:kotlin.String [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val]
overridden:
public final fun <get-name> (): kotlin.String declared in kotlin.Enum
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.D>
PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val]
overridden:
public final ordinal: kotlin.Int
FUN FAKE_OVERRIDE name:<get-ordinal> visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.D>) returnType:kotlin.Int [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val]
overridden:
public final fun <get-ordinal> (): kotlin.Int declared in kotlin.Enum
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.D>
CLASS ENUM_CLASS name:E modality:FINAL visibility:public superTypes:[<root>.Java1; <root>.Java3; kotlin.Enum<<root>.E>]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.E
CONSTRUCTOR visibility:private <> () returnType:<root>.E [primary]
BLOCK_BODY
ENUM_CONSTRUCTOR_CALL 'public constructor <init> (name: kotlin.String, ordinal: kotlin.Int) declared in kotlin.Enum'
<E>: <root>.E
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:E modality:FINAL visibility:public superTypes:[<root>.Java1; <root>.Java3; kotlin.Enum<<root>.E>]'
FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:<root>.E
VALUE_PARAMETER name:value index:0 type:kotlin.String
SYNTHETIC_BODY kind=ENUM_VALUEOF
FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<<root>.E>
SYNTHETIC_BODY kind=ENUM_VALUES
FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.E>, other:<root>.E) returnType:kotlin.Int [fake_override,operator]
overridden:
public final fun compareTo (other: E of kotlin.Enum): kotlin.Int declared in kotlin.Enum
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.E>
VALUE_PARAMETER name:other index:0 type:<root>.E
FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($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
public final fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Enum
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:<root>.Java1, i:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override]
overridden:
public abstract fun foo (i: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in <root>.Java1
$this: VALUE_PARAMETER name:<this> type:<root>.Java1
VALUE_PARAMETER name:i index:0 type:@[FlexibleNullability] kotlin.Int?
FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:<root>.Java3, i:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override]
overridden:
public abstract fun foo (i: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in <root>.Java3
$this: VALUE_PARAMETER name:<this> type:<root>.Java3
VALUE_PARAMETER name:i index:0 type:@[FlexibleNullability] kotlin.Any?
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($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
public final fun hashCode (): kotlin.Int declared in kotlin.Enum
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
overridden:
public open fun toString (): kotlin.String declared in <root>.Java1
public open fun toString (): kotlin.String declared in <root>.Java3
public open fun toString (): kotlin.String declared in kotlin.Enum
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
PROPERTY ENUM_CLASS_SPECIAL_MEMBER name:entries visibility:public modality:FINAL [val]
FUN ENUM_CLASS_SPECIAL_MEMBER name:<get-entries> visibility:public modality:FINAL <> () returnType:kotlin.enums.EnumEntries<<root>.E>
correspondingProperty: PROPERTY ENUM_CLASS_SPECIAL_MEMBER name:entries visibility:public modality:FINAL [val]
SYNTHETIC_BODY kind=ENUM_ENTRIES
PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val]
annotations:
IntrinsicConstEvaluation
overridden:
public final name: kotlin.String
FUN FAKE_OVERRIDE name:<get-name> visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.E>) returnType:kotlin.String [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val]
overridden:
public final fun <get-name> (): kotlin.String declared in kotlin.Enum
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.E>
PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val]
overridden:
public final ordinal: kotlin.Int
FUN FAKE_OVERRIDE name:<get-ordinal> visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.E>) returnType:kotlin.Int [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val]
overridden:
public final fun <get-ordinal> (): kotlin.Int declared in kotlin.Enum
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.E>
CLASS ENUM_CLASS name:F modality:ABSTRACT visibility:public superTypes:[<root>.Java1; <root>.Java3; kotlin.Enum<<root>.F>]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.F
ENUM_ENTRY name:FIRST
init: EXPRESSION_BODY
ENUM_CONSTRUCTOR_CALL 'private constructor <init> () declared in <root>.F.FIRST'
class: CLASS ENUM_ENTRY name:FIRST modality:FINAL visibility:private superTypes:[<root>.F]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.F.FIRST
CONSTRUCTOR visibility:private <> () returnType:<root>.F.FIRST [primary]
BLOCK_BODY
ENUM_CONSTRUCTOR_CALL 'private constructor <init> () declared in <root>.F'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:FIRST modality:FINAL visibility:private superTypes:[<root>.F]'
FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.F>, other:<root>.F) returnType:kotlin.Int [fake_override,operator]
overridden:
public final fun compareTo (other: <root>.F): kotlin.Int declared in <root>.F
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.F>
VALUE_PARAMETER name:other index:0 type:<root>.F
FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public final fun equals (other: kotlin.Any?): kotlin.Boolean declared in <root>.F
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
FUN FAKE_OVERRIDE name:foo visibility:public modality:OPEN <> ($this:<root>.F, i:kotlin.Any) returnType:kotlin.Unit [fake_override]
overridden:
public open fun foo (i: kotlin.Any): kotlin.Unit declared in <root>.F
$this: VALUE_PARAMETER name:<this> type:<root>.F
VALUE_PARAMETER name:i index:0 type:kotlin.Any
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
overridden:
public final fun hashCode (): kotlin.Int declared in <root>.F
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
overridden:
public open fun toString (): kotlin.String declared in <root>.F
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN name:foo visibility:public modality:OPEN <> ($this:<root>.F.FIRST, i:kotlin.Int?) returnType:kotlin.Unit
overridden:
public abstract fun foo (i: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in <root>.F
$this: VALUE_PARAMETER name:<this> type:<root>.F.FIRST
VALUE_PARAMETER name:i index:0 type:kotlin.Int?
BLOCK_BODY
PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val]
annotations:
IntrinsicConstEvaluation
overridden:
public final name: kotlin.String
FUN FAKE_OVERRIDE name:<get-name> visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.F>) returnType:kotlin.String [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val]
overridden:
public final fun <get-name> (): kotlin.String declared in <root>.F
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.F>
PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val]
overridden:
public final ordinal: kotlin.Int
FUN FAKE_OVERRIDE name:<get-ordinal> visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.F>) returnType:kotlin.Int [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val]
overridden:
public final fun <get-ordinal> (): kotlin.Int declared in <root>.F
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.F>
CONSTRUCTOR visibility:private <> () returnType:<root>.F [primary]
BLOCK_BODY
ENUM_CONSTRUCTOR_CALL 'public constructor <init> (name: kotlin.String, ordinal: kotlin.Int) declared in kotlin.Enum'
<E>: <root>.F
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:F modality:ABSTRACT visibility:public superTypes:[<root>.Java1; <root>.Java3; kotlin.Enum<<root>.F>]'
FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:<root>.F
VALUE_PARAMETER name:value index:0 type:kotlin.String
SYNTHETIC_BODY kind=ENUM_VALUEOF
FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<<root>.F>
SYNTHETIC_BODY kind=ENUM_VALUES
FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.F>, other:<root>.F) returnType:kotlin.Int [fake_override,operator]
overridden:
public final fun compareTo (other: E of kotlin.Enum): kotlin.Int declared in kotlin.Enum
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.F>
VALUE_PARAMETER name:other index:0 type:<root>.F
FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($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
public final fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Enum
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:<root>.Java1, i:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override]
overridden:
public abstract fun foo (i: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in <root>.Java1
$this: VALUE_PARAMETER name:<this> type:<root>.Java1
VALUE_PARAMETER name:i index:0 type:@[FlexibleNullability] kotlin.Int?
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($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
public final fun hashCode (): kotlin.Int declared in kotlin.Enum
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
overridden:
public open fun toString (): kotlin.String declared in <root>.Java1
public open fun toString (): kotlin.String declared in <root>.Java3
public open fun toString (): kotlin.String declared in kotlin.Enum
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN name:foo visibility:public modality:OPEN <> ($this:<root>.F, i:kotlin.Any) returnType:kotlin.Unit
overridden:
public abstract fun foo (i: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in <root>.Java3
$this: VALUE_PARAMETER name:<this> type:<root>.F
VALUE_PARAMETER name:i index:0 type:kotlin.Any
BLOCK_BODY
PROPERTY ENUM_CLASS_SPECIAL_MEMBER name:entries visibility:public modality:FINAL [val]
FUN ENUM_CLASS_SPECIAL_MEMBER name:<get-entries> visibility:public modality:FINAL <> () returnType:kotlin.enums.EnumEntries<<root>.F>
correspondingProperty: PROPERTY ENUM_CLASS_SPECIAL_MEMBER name:entries visibility:public modality:FINAL [val]
SYNTHETIC_BODY kind=ENUM_ENTRIES
PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val]
annotations:
IntrinsicConstEvaluation
overridden:
public final name: kotlin.String
FUN FAKE_OVERRIDE name:<get-name> visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.F>) returnType:kotlin.String [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val]
overridden:
public final fun <get-name> (): kotlin.String declared in kotlin.Enum
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.F>
PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val]
overridden:
public final ordinal: kotlin.Int
FUN FAKE_OVERRIDE name:<get-ordinal> visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.F>) returnType:kotlin.Int [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val]
overridden:
public final fun <get-ordinal> (): kotlin.Int declared in kotlin.Enum
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.F>
CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.KotlinInterface
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
overridden:
public open fun hashCode (): kotlin.Int declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
overridden:
public open fun toString (): kotlin.String declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN name:foo visibility:public modality:OPEN <> ($this:<root>.KotlinInterface, i:kotlin.Int) returnType:kotlin.Unit
$this: VALUE_PARAMETER name:<this> type:<root>.KotlinInterface
VALUE_PARAMETER name:i index:0 type:kotlin.Int
BLOCK_BODY
FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Unit
BLOCK_BODY
CALL 'public open fun foo (i: kotlin.Int): kotlin.Unit declared in <root>.B' type=kotlin.Unit origin=null
$this: GET_ENUM 'ENUM_ENTRY name:FIRST' type=<root>.B
i: CONST Int type=kotlin.Int value=1
CALL 'public open fun foo (i: kotlin.Int): kotlin.Unit declared in <root>.B' type=kotlin.Unit origin=null
$this: GET_ENUM 'ENUM_ENTRY name:SECOND' type=<root>.B
i: CONST Int type=kotlin.Int value=1
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
CALL 'public final fun <get-ordinal> (): kotlin.Int declared in <root>.B' type=kotlin.Int origin=GET_PROPERTY
$this: GET_ENUM 'ENUM_ENTRY name:FIRST' type=<root>.B
CALL 'public open fun foo (i: kotlin.Int): kotlin.Unit declared in <root>.D' type=kotlin.Unit origin=null
$this: GET_ENUM 'ENUM_ENTRY name:FIRST' type=<root>.D
i: CONST Int type=kotlin.Int value=1
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
CALL 'public final fun <get-ordinal> (): kotlin.Int declared in <root>.D' type=kotlin.Int origin=GET_PROPERTY
$this: GET_ENUM 'ENUM_ENTRY name:FIRST' type=<root>.D
CALL 'public abstract fun foo (i: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in <root>.F' type=kotlin.Unit origin=null
$this: GET_ENUM 'ENUM_ENTRY name:FIRST' type=<root>.F
i: CONST Int type=kotlin.Int value=1
CALL 'public open fun foo (i: kotlin.Any): kotlin.Unit declared in <root>.F' type=kotlin.Unit origin=null
$this: GET_ENUM 'ENUM_ENTRY name:FIRST' type=<root>.F
i: CONST String type=kotlin.String value=""
CALL 'public abstract fun foo (i: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in <root>.F' type=kotlin.Unit origin=null
$this: GET_ENUM 'ENUM_ENTRY name:FIRST' type=<root>.F
i: CONST Null type=kotlin.Nothing? value=null
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
CALL 'public final fun <get-ordinal> (): kotlin.Int declared in <root>.F' type=kotlin.Int origin=GET_PROPERTY
$this: GET_ENUM 'ENUM_ENTRY name:FIRST' type=<root>.F
@@ -0,0 +1,166 @@
enum class A : Enum<A>, Java1 {
private constructor() /* primary */ {
super/*Enum*/<A>()
/* <init>() */
}
fun valueOf(value: String): A /* Synthetic body for ENUM_VALUEOF */
fun values(): Array<A> /* Synthetic body for ENUM_VALUES */
val entries: EnumEntries<A>
get(): EnumEntries<A> /* Synthetic body for ENUM_ENTRIES */
}
open enum class B : Enum<B>, Java1 {
FIRST = FIRST()
private enum entry class FIRST : B {
private constructor() /* primary */ {
super/*B*/()
/* <init>() */
}
override fun foo(i: Int) {
}
}
SECOND = B()
private constructor() /* primary */ {
super/*Enum*/<B>()
/* <init>() */
}
fun valueOf(value: String): B /* Synthetic body for ENUM_VALUEOF */
fun values(): Array<B> /* Synthetic body for ENUM_VALUES */
override fun foo(i: Int) {
}
val entries: EnumEntries<B>
get(): EnumEntries<B> /* Synthetic body for ENUM_ENTRIES */
}
enum class C : Enum<C>, Java2 {
private constructor() /* primary */ {
super/*Enum*/<C>()
/* <init>() */
}
fun valueOf(value: String): C /* Synthetic body for ENUM_VALUEOF */
fun values(): Array<C> /* Synthetic body for ENUM_VALUES */
val entries: EnumEntries<C>
get(): EnumEntries<C> /* Synthetic body for ENUM_ENTRIES */
}
open enum class D : Enum<D>, Java2 {
FIRST = FIRST()
private enum entry class FIRST : D {
private constructor() /* primary */ {
super/*D*/()
/* <init>() */
}
override fun foo(i: Int) {
}
}
private constructor() /* primary */ {
super/*Enum*/<D>()
/* <init>() */
}
fun valueOf(value: String): D /* Synthetic body for ENUM_VALUEOF */
fun values(): Array<D> /* Synthetic body for ENUM_VALUES */
override fun foo(i: Int) {
}
val entries: EnumEntries<D>
get(): EnumEntries<D> /* Synthetic body for ENUM_ENTRIES */
}
enum class E : Enum<E>, Java1, Java3 {
private constructor() /* primary */ {
super/*Enum*/<E>()
/* <init>() */
}
fun valueOf(value: String): E /* Synthetic body for ENUM_VALUEOF */
fun values(): Array<E> /* Synthetic body for ENUM_VALUES */
val entries: EnumEntries<E>
get(): EnumEntries<E> /* Synthetic body for ENUM_ENTRIES */
}
abstract enum class F : Enum<F>, Java1, Java3 {
FIRST = FIRST()
private enum entry class FIRST : F {
private constructor() /* primary */ {
super/*F*/()
/* <init>() */
}
override fun foo(i: Int?) {
}
}
private constructor() /* primary */ {
super/*Enum*/<F>()
/* <init>() */
}
fun valueOf(value: String): F /* Synthetic body for ENUM_VALUEOF */
fun values(): Array<F> /* Synthetic body for ENUM_VALUES */
override fun foo(i: Any) {
}
val entries: EnumEntries<F>
get(): EnumEntries<F> /* Synthetic body for ENUM_ENTRIES */
}
interface KotlinInterface {
fun foo(i: Int) {
}
}
fun test() {
B.FIRST.foo(i = 1)
B.SECOND.foo(i = 1)
B.FIRST.<get-ordinal>() /*~> Unit */
D.FIRST.foo(i = 1)
D.FIRST.<get-ordinal>() /*~> Unit */
F.FIRST.foo(i = 1)
F.FIRST.foo(i = "")
F.FIRST.foo(i = null)
F.FIRST.<get-ordinal>() /*~> Unit */
}
@@ -0,0 +1,592 @@
FILE fqName:<root> fileName:/1.kt
CLASS ENUM_CLASS name:A modality:ABSTRACT visibility:public superTypes:[kotlin.Enum<<root>.A>; <root>.Java1]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.A
CONSTRUCTOR visibility:private <> () returnType:<root>.A [primary]
BLOCK_BODY
ENUM_CONSTRUCTOR_CALL 'public constructor <init> (name: kotlin.String, ordinal: kotlin.Int) declared in kotlin.Enum'
<E>: <root>.A
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:A modality:ABSTRACT visibility:public superTypes:[kotlin.Enum<<root>.A>; <root>.Java1]'
FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:<root>.A
VALUE_PARAMETER name:value index:0 type:kotlin.String
SYNTHETIC_BODY kind=ENUM_VALUEOF
FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<<root>.A>
SYNTHETIC_BODY kind=ENUM_VALUES
FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.A>, other:<root>.A) returnType:kotlin.Int [fake_override,operator]
overridden:
public final fun compareTo (other: E of kotlin.Enum): kotlin.Int declared in kotlin.Enum
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.A>
VALUE_PARAMETER name:other index:0 type:<root>.A
FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.A>, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public final fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Enum
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in <root>.Java1
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.A>
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:<root>.Java1, i:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override]
overridden:
public abstract fun foo (i: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in <root>.Java1
$this: VALUE_PARAMETER name:<this> type:<root>.Java1
VALUE_PARAMETER name:i index:0 type:@[FlexibleNullability] kotlin.Int?
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.A>) returnType:kotlin.Int [fake_override]
overridden:
public final fun hashCode (): kotlin.Int declared in kotlin.Enum
public open fun hashCode (): kotlin.Int declared in <root>.Java1
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.A>
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<<root>.A>) returnType:kotlin.String [fake_override]
overridden:
public open fun toString (): kotlin.String declared in kotlin.Enum
public open fun toString (): kotlin.String declared in <root>.Java1
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.A>
PROPERTY ENUM_CLASS_SPECIAL_MEMBER name:entries visibility:public modality:FINAL [val]
FUN ENUM_CLASS_SPECIAL_MEMBER name:<get-entries> visibility:public modality:FINAL <> () returnType:kotlin.enums.EnumEntries<<root>.A>
correspondingProperty: PROPERTY ENUM_CLASS_SPECIAL_MEMBER name:entries visibility:public modality:FINAL [val]
SYNTHETIC_BODY kind=ENUM_ENTRIES
PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val]
annotations:
IntrinsicConstEvaluation
overridden:
public final name: kotlin.String
FUN FAKE_OVERRIDE name:<get-name> visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.A>) returnType:kotlin.String [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val]
overridden:
public final fun <get-name> (): kotlin.String declared in kotlin.Enum
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.A>
PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val]
overridden:
public final ordinal: kotlin.Int
FUN FAKE_OVERRIDE name:<get-ordinal> visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.A>) returnType:kotlin.Int [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val]
overridden:
public final fun <get-ordinal> (): kotlin.Int declared in kotlin.Enum
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.A>
CLASS ENUM_CLASS name:B modality:OPEN visibility:public superTypes:[kotlin.Enum<<root>.B>; <root>.Java1]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.B
ENUM_ENTRY name:FIRST
init: EXPRESSION_BODY
ENUM_CONSTRUCTOR_CALL 'private constructor <init> () declared in <root>.B.FIRST'
class: CLASS ENUM_ENTRY name:FIRST modality:FINAL visibility:private superTypes:[<root>.B]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.B.FIRST
CONSTRUCTOR visibility:private <> () returnType:<root>.B.FIRST [primary]
BLOCK_BODY
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
ENUM_CONSTRUCTOR_CALL 'private constructor <init> () declared in <root>.B'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:FIRST modality:FINAL visibility:private superTypes:[<root>.B]'
FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.B>, other:<root>.B) returnType:kotlin.Int [fake_override,operator]
overridden:
public final fun compareTo (other: <root>.B): kotlin.Int declared in <root>.B
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.B>
VALUE_PARAMETER name:other index:0 type:<root>.B
FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.B>, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public final fun equals (other: kotlin.Any?): kotlin.Boolean declared in <root>.B
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.B>
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.B>) returnType:kotlin.Int [fake_override]
overridden:
public final fun hashCode (): kotlin.Int declared in <root>.B
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.B>
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<<root>.B>) returnType:kotlin.String [fake_override]
overridden:
public open fun toString (): kotlin.String declared in <root>.B
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.B>
FUN name:foo visibility:public modality:OPEN <> ($this:<root>.B.FIRST, i:kotlin.Int) returnType:kotlin.Unit
overridden:
public open fun foo (i: kotlin.Int): kotlin.Unit declared in <root>.B
$this: VALUE_PARAMETER name:<this> type:<root>.B.FIRST
VALUE_PARAMETER name:i index:0 type:kotlin.Int
BLOCK_BODY
PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val]
annotations:
IntrinsicConstEvaluation
overridden:
public final name: kotlin.String
FUN FAKE_OVERRIDE name:<get-name> visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.B>) returnType:kotlin.String [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val]
overridden:
public final fun <get-name> (): kotlin.String declared in <root>.B
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.B>
PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val]
overridden:
public final ordinal: kotlin.Int
FUN FAKE_OVERRIDE name:<get-ordinal> visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.B>) returnType:kotlin.Int [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val]
overridden:
public final fun <get-ordinal> (): kotlin.Int declared in <root>.B
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.B>
ENUM_ENTRY name:SECOND
init: EXPRESSION_BODY
ENUM_CONSTRUCTOR_CALL 'private constructor <init> () declared in <root>.B'
CONSTRUCTOR visibility:private <> () returnType:<root>.B [primary]
BLOCK_BODY
ENUM_CONSTRUCTOR_CALL 'public constructor <init> (name: kotlin.String, ordinal: kotlin.Int) declared in kotlin.Enum'
<E>: <root>.B
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:B modality:OPEN visibility:public superTypes:[kotlin.Enum<<root>.B>; <root>.Java1]'
FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:<root>.B
VALUE_PARAMETER name:value index:0 type:kotlin.String
SYNTHETIC_BODY kind=ENUM_VALUEOF
FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<<root>.B>
SYNTHETIC_BODY kind=ENUM_VALUES
FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.B>, other:<root>.B) returnType:kotlin.Int [fake_override,operator]
overridden:
public final fun compareTo (other: E of kotlin.Enum): kotlin.Int declared in kotlin.Enum
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.B>
VALUE_PARAMETER name:other index:0 type:<root>.B
FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.B>, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public final fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Enum
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in <root>.Java1
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.B>
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.B>) returnType:kotlin.Int [fake_override]
overridden:
public final fun hashCode (): kotlin.Int declared in kotlin.Enum
public open fun hashCode (): kotlin.Int declared in <root>.Java1
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.B>
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<<root>.B>) returnType:kotlin.String [fake_override]
overridden:
public open fun toString (): kotlin.String declared in kotlin.Enum
public open fun toString (): kotlin.String declared in <root>.Java1
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.B>
FUN name:foo visibility:public modality:OPEN <> ($this:<root>.B, i:kotlin.Int) returnType:kotlin.Unit
overridden:
public abstract fun foo (i: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in <root>.Java1
$this: VALUE_PARAMETER name:<this> type:<root>.B
VALUE_PARAMETER name:i index:0 type:kotlin.Int
BLOCK_BODY
PROPERTY ENUM_CLASS_SPECIAL_MEMBER name:entries visibility:public modality:FINAL [val]
FUN ENUM_CLASS_SPECIAL_MEMBER name:<get-entries> visibility:public modality:FINAL <> () returnType:kotlin.enums.EnumEntries<<root>.B>
correspondingProperty: PROPERTY ENUM_CLASS_SPECIAL_MEMBER name:entries visibility:public modality:FINAL [val]
SYNTHETIC_BODY kind=ENUM_ENTRIES
PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val]
annotations:
IntrinsicConstEvaluation
overridden:
public final name: kotlin.String
FUN FAKE_OVERRIDE name:<get-name> visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.B>) returnType:kotlin.String [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val]
overridden:
public final fun <get-name> (): kotlin.String declared in kotlin.Enum
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.B>
PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val]
overridden:
public final ordinal: kotlin.Int
FUN FAKE_OVERRIDE name:<get-ordinal> visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.B>) returnType:kotlin.Int [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val]
overridden:
public final fun <get-ordinal> (): kotlin.Int declared in kotlin.Enum
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.B>
CLASS ENUM_CLASS name:C modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.C>; <root>.Java2]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.C
CONSTRUCTOR visibility:private <> () returnType:<root>.C [primary]
BLOCK_BODY
ENUM_CONSTRUCTOR_CALL 'public constructor <init> (name: kotlin.String, ordinal: kotlin.Int) declared in kotlin.Enum'
<E>: <root>.C
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:C modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.C>; <root>.Java2]'
FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:<root>.C
VALUE_PARAMETER name:value index:0 type:kotlin.String
SYNTHETIC_BODY kind=ENUM_VALUEOF
FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<<root>.C>
SYNTHETIC_BODY kind=ENUM_VALUES
FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.C>, other:<root>.C) returnType:kotlin.Int [fake_override,operator]
overridden:
public final fun compareTo (other: E of kotlin.Enum): kotlin.Int declared in kotlin.Enum
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.C>
VALUE_PARAMETER name:other index:0 type:<root>.C
FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.C>, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public final fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Enum
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in <root>.Java2
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.C>
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
FUN FAKE_OVERRIDE name:foo visibility:public modality:OPEN <> ($this:<root>.KotlinInterface, i:kotlin.Int) returnType:kotlin.Unit [fake_override]
overridden:
public open fun foo (i: kotlin.Int): kotlin.Unit declared in <root>.Java2
$this: VALUE_PARAMETER name:<this> type:<root>.KotlinInterface
VALUE_PARAMETER name:i index:0 type:kotlin.Int
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.C>) returnType:kotlin.Int [fake_override]
overridden:
public final fun hashCode (): kotlin.Int declared in kotlin.Enum
public open fun hashCode (): kotlin.Int declared in <root>.Java2
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.C>
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<<root>.C>) returnType:kotlin.String [fake_override]
overridden:
public open fun toString (): kotlin.String declared in kotlin.Enum
public open fun toString (): kotlin.String declared in <root>.Java2
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.C>
PROPERTY ENUM_CLASS_SPECIAL_MEMBER name:entries visibility:public modality:FINAL [val]
FUN ENUM_CLASS_SPECIAL_MEMBER name:<get-entries> visibility:public modality:FINAL <> () returnType:kotlin.enums.EnumEntries<<root>.C>
correspondingProperty: PROPERTY ENUM_CLASS_SPECIAL_MEMBER name:entries visibility:public modality:FINAL [val]
SYNTHETIC_BODY kind=ENUM_ENTRIES
PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val]
annotations:
IntrinsicConstEvaluation
overridden:
public final name: kotlin.String
FUN FAKE_OVERRIDE name:<get-name> visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.C>) returnType:kotlin.String [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val]
overridden:
public final fun <get-name> (): kotlin.String declared in kotlin.Enum
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.C>
PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val]
overridden:
public final ordinal: kotlin.Int
FUN FAKE_OVERRIDE name:<get-ordinal> visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.C>) returnType:kotlin.Int [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val]
overridden:
public final fun <get-ordinal> (): kotlin.Int declared in kotlin.Enum
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.C>
CLASS ENUM_CLASS name:D modality:OPEN visibility:public superTypes:[kotlin.Enum<<root>.D>; <root>.Java2]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.D
ENUM_ENTRY name:FIRST
init: EXPRESSION_BODY
ENUM_CONSTRUCTOR_CALL 'private constructor <init> () declared in <root>.D.FIRST'
class: CLASS ENUM_ENTRY name:FIRST modality:FINAL visibility:private superTypes:[<root>.D]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.D.FIRST
CONSTRUCTOR visibility:private <> () returnType:<root>.D.FIRST [primary]
BLOCK_BODY
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
ENUM_CONSTRUCTOR_CALL 'private constructor <init> () declared in <root>.D'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:FIRST modality:FINAL visibility:private superTypes:[<root>.D]'
FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.D>, other:<root>.D) returnType:kotlin.Int [fake_override,operator]
overridden:
public final fun compareTo (other: <root>.D): kotlin.Int declared in <root>.D
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.D>
VALUE_PARAMETER name:other index:0 type:<root>.D
FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.D>, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public final fun equals (other: kotlin.Any?): kotlin.Boolean declared in <root>.D
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.D>
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.D>) returnType:kotlin.Int [fake_override]
overridden:
public final fun hashCode (): kotlin.Int declared in <root>.D
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.D>
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<<root>.D>) returnType:kotlin.String [fake_override]
overridden:
public open fun toString (): kotlin.String declared in <root>.D
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.D>
FUN name:foo visibility:public modality:OPEN <> ($this:<root>.D.FIRST, i:kotlin.Int) returnType:kotlin.Unit
overridden:
public open fun foo (i: kotlin.Int): kotlin.Unit declared in <root>.D
$this: VALUE_PARAMETER name:<this> type:<root>.D.FIRST
VALUE_PARAMETER name:i index:0 type:kotlin.Int
BLOCK_BODY
PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val]
annotations:
IntrinsicConstEvaluation
overridden:
public final name: kotlin.String
FUN FAKE_OVERRIDE name:<get-name> visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.D>) returnType:kotlin.String [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val]
overridden:
public final fun <get-name> (): kotlin.String declared in <root>.D
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.D>
PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val]
overridden:
public final ordinal: kotlin.Int
FUN FAKE_OVERRIDE name:<get-ordinal> visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.D>) returnType:kotlin.Int [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val]
overridden:
public final fun <get-ordinal> (): kotlin.Int declared in <root>.D
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.D>
CONSTRUCTOR visibility:private <> () returnType:<root>.D [primary]
BLOCK_BODY
ENUM_CONSTRUCTOR_CALL 'public constructor <init> (name: kotlin.String, ordinal: kotlin.Int) declared in kotlin.Enum'
<E>: <root>.D
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:D modality:OPEN visibility:public superTypes:[kotlin.Enum<<root>.D>; <root>.Java2]'
FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:<root>.D
VALUE_PARAMETER name:value index:0 type:kotlin.String
SYNTHETIC_BODY kind=ENUM_VALUEOF
FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<<root>.D>
SYNTHETIC_BODY kind=ENUM_VALUES
FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.D>, other:<root>.D) returnType:kotlin.Int [fake_override,operator]
overridden:
public final fun compareTo (other: E of kotlin.Enum): kotlin.Int declared in kotlin.Enum
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.D>
VALUE_PARAMETER name:other index:0 type:<root>.D
FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.D>, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public final fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Enum
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in <root>.Java2
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.D>
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.D>) returnType:kotlin.Int [fake_override]
overridden:
public final fun hashCode (): kotlin.Int declared in kotlin.Enum
public open fun hashCode (): kotlin.Int declared in <root>.Java2
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.D>
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<<root>.D>) returnType:kotlin.String [fake_override]
overridden:
public open fun toString (): kotlin.String declared in kotlin.Enum
public open fun toString (): kotlin.String declared in <root>.Java2
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.D>
FUN name:foo visibility:public modality:OPEN <> ($this:<root>.D, i:kotlin.Int) returnType:kotlin.Unit
overridden:
public open fun foo (i: kotlin.Int): kotlin.Unit declared in <root>.Java2
$this: VALUE_PARAMETER name:<this> type:<root>.D
VALUE_PARAMETER name:i index:0 type:kotlin.Int
BLOCK_BODY
PROPERTY ENUM_CLASS_SPECIAL_MEMBER name:entries visibility:public modality:FINAL [val]
FUN ENUM_CLASS_SPECIAL_MEMBER name:<get-entries> visibility:public modality:FINAL <> () returnType:kotlin.enums.EnumEntries<<root>.D>
correspondingProperty: PROPERTY ENUM_CLASS_SPECIAL_MEMBER name:entries visibility:public modality:FINAL [val]
SYNTHETIC_BODY kind=ENUM_ENTRIES
PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val]
annotations:
IntrinsicConstEvaluation
overridden:
public final name: kotlin.String
FUN FAKE_OVERRIDE name:<get-name> visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.D>) returnType:kotlin.String [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val]
overridden:
public final fun <get-name> (): kotlin.String declared in kotlin.Enum
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.D>
PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val]
overridden:
public final ordinal: kotlin.Int
FUN FAKE_OVERRIDE name:<get-ordinal> visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.D>) returnType:kotlin.Int [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val]
overridden:
public final fun <get-ordinal> (): kotlin.Int declared in kotlin.Enum
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.D>
CLASS ENUM_CLASS name:E modality:ABSTRACT visibility:public superTypes:[kotlin.Enum<<root>.E>; <root>.Java1; <root>.Java3]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.E
CONSTRUCTOR visibility:private <> () returnType:<root>.E [primary]
BLOCK_BODY
ENUM_CONSTRUCTOR_CALL 'public constructor <init> (name: kotlin.String, ordinal: kotlin.Int) declared in kotlin.Enum'
<E>: <root>.E
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:E modality:ABSTRACT visibility:public superTypes:[kotlin.Enum<<root>.E>; <root>.Java1; <root>.Java3]'
FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:<root>.E
VALUE_PARAMETER name:value index:0 type:kotlin.String
SYNTHETIC_BODY kind=ENUM_VALUEOF
FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<<root>.E>
SYNTHETIC_BODY kind=ENUM_VALUES
FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.E>, other:<root>.E) returnType:kotlin.Int [fake_override,operator]
overridden:
public final fun compareTo (other: E of kotlin.Enum): kotlin.Int declared in kotlin.Enum
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.E>
VALUE_PARAMETER name:other index:0 type:<root>.E
FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.E>, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public final fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Enum
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.Enum<<root>.E>
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:<root>.Java1, i:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override]
overridden:
public abstract fun foo (i: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in <root>.Java1
$this: VALUE_PARAMETER name:<this> type:<root>.Java1
VALUE_PARAMETER name:i index:0 type:@[FlexibleNullability] kotlin.Int?
FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:<root>.Java3, i:@[FlexibleNullability] kotlin.Any?) returnType:kotlin.Unit [fake_override]
overridden:
public abstract fun foo (i: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in <root>.Java3
$this: VALUE_PARAMETER name:<this> type:<root>.Java3
VALUE_PARAMETER name:i index:0 type:@[FlexibleNullability] kotlin.Any?
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.E>) returnType:kotlin.Int [fake_override]
overridden:
public final fun hashCode (): kotlin.Int declared in kotlin.Enum
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.Enum<<root>.E>
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<<root>.E>) returnType:kotlin.String [fake_override]
overridden:
public open fun toString (): kotlin.String declared in kotlin.Enum
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.Enum<<root>.E>
PROPERTY ENUM_CLASS_SPECIAL_MEMBER name:entries visibility:public modality:FINAL [val]
FUN ENUM_CLASS_SPECIAL_MEMBER name:<get-entries> visibility:public modality:FINAL <> () returnType:kotlin.enums.EnumEntries<<root>.E>
correspondingProperty: PROPERTY ENUM_CLASS_SPECIAL_MEMBER name:entries visibility:public modality:FINAL [val]
SYNTHETIC_BODY kind=ENUM_ENTRIES
PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val]
annotations:
IntrinsicConstEvaluation
overridden:
public final name: kotlin.String
FUN FAKE_OVERRIDE name:<get-name> visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.E>) returnType:kotlin.String [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val]
overridden:
public final fun <get-name> (): kotlin.String declared in kotlin.Enum
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.E>
PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val]
overridden:
public final ordinal: kotlin.Int
FUN FAKE_OVERRIDE name:<get-ordinal> visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.E>) returnType:kotlin.Int [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val]
overridden:
public final fun <get-ordinal> (): kotlin.Int declared in kotlin.Enum
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.E>
CLASS ENUM_CLASS name:F modality:ABSTRACT visibility:public superTypes:[kotlin.Enum<<root>.F>; <root>.Java1; <root>.Java3]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.F
ENUM_ENTRY name:FIRST
init: EXPRESSION_BODY
ENUM_CONSTRUCTOR_CALL 'private constructor <init> () declared in <root>.F.FIRST'
class: CLASS ENUM_ENTRY name:FIRST modality:FINAL visibility:private superTypes:[<root>.F]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.F.FIRST
CONSTRUCTOR visibility:private <> () returnType:<root>.F.FIRST [primary]
BLOCK_BODY
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
ENUM_CONSTRUCTOR_CALL 'private constructor <init> () declared in <root>.F'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:FIRST modality:FINAL visibility:private superTypes:[<root>.F]'
FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.F>, other:<root>.F) returnType:kotlin.Int [fake_override,operator]
overridden:
public final fun compareTo (other: <root>.F): kotlin.Int declared in <root>.F
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.F>
VALUE_PARAMETER name:other index:0 type:<root>.F
FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.F>, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public final fun equals (other: kotlin.Any?): kotlin.Boolean declared in <root>.F
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.F>
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
FUN FAKE_OVERRIDE name:foo visibility:public modality:OPEN <> ($this:<root>.F, i:kotlin.Any) returnType:kotlin.Unit [fake_override]
overridden:
public open fun foo (i: kotlin.Any): kotlin.Unit declared in <root>.F
$this: VALUE_PARAMETER name:<this> type:<root>.F
VALUE_PARAMETER name:i index:0 type:kotlin.Any
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.F>) returnType:kotlin.Int [fake_override]
overridden:
public final fun hashCode (): kotlin.Int declared in <root>.F
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.F>
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<<root>.F>) returnType:kotlin.String [fake_override]
overridden:
public open fun toString (): kotlin.String declared in <root>.F
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.F>
FUN name:foo visibility:public modality:OPEN <> ($this:<root>.F.FIRST, i:kotlin.Int?) returnType:kotlin.Unit
overridden:
public abstract fun foo (i: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in <root>.F
$this: VALUE_PARAMETER name:<this> type:<root>.F.FIRST
VALUE_PARAMETER name:i index:0 type:kotlin.Int?
BLOCK_BODY
PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val]
annotations:
IntrinsicConstEvaluation
overridden:
public final name: kotlin.String
FUN FAKE_OVERRIDE name:<get-name> visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.F>) returnType:kotlin.String [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val]
overridden:
public final fun <get-name> (): kotlin.String declared in <root>.F
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.F>
PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val]
overridden:
public final ordinal: kotlin.Int
FUN FAKE_OVERRIDE name:<get-ordinal> visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.F>) returnType:kotlin.Int [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val]
overridden:
public final fun <get-ordinal> (): kotlin.Int declared in <root>.F
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.F>
CONSTRUCTOR visibility:private <> () returnType:<root>.F [primary]
BLOCK_BODY
ENUM_CONSTRUCTOR_CALL 'public constructor <init> (name: kotlin.String, ordinal: kotlin.Int) declared in kotlin.Enum'
<E>: <root>.F
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:F modality:ABSTRACT visibility:public superTypes:[kotlin.Enum<<root>.F>; <root>.Java1; <root>.Java3]'
FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:<root>.F
VALUE_PARAMETER name:value index:0 type:kotlin.String
SYNTHETIC_BODY kind=ENUM_VALUEOF
FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<<root>.F>
SYNTHETIC_BODY kind=ENUM_VALUES
FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.F>, other:<root>.F) returnType:kotlin.Int [fake_override,operator]
overridden:
public final fun compareTo (other: E of kotlin.Enum): kotlin.Int declared in kotlin.Enum
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.F>
VALUE_PARAMETER name:other index:0 type:<root>.F
FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.F>, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public final fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Enum
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.Enum<<root>.F>
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:<root>.Java1, i:@[FlexibleNullability] kotlin.Int?) returnType:kotlin.Unit [fake_override]
overridden:
public abstract fun foo (i: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in <root>.Java1
$this: VALUE_PARAMETER name:<this> type:<root>.Java1
VALUE_PARAMETER name:i index:0 type:@[FlexibleNullability] kotlin.Int?
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.F>) returnType:kotlin.Int [fake_override]
overridden:
public final fun hashCode (): kotlin.Int declared in kotlin.Enum
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.Enum<<root>.F>
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<<root>.F>) returnType:kotlin.String [fake_override]
overridden:
public open fun toString (): kotlin.String declared in kotlin.Enum
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.Enum<<root>.F>
FUN name:foo visibility:public modality:OPEN <> ($this:<root>.F, i:kotlin.Any) returnType:kotlin.Unit
overridden:
public abstract fun foo (i: @[FlexibleNullability] kotlin.Any?): kotlin.Unit declared in <root>.Java3
$this: VALUE_PARAMETER name:<this> type:<root>.F
VALUE_PARAMETER name:i index:0 type:kotlin.Any
BLOCK_BODY
PROPERTY ENUM_CLASS_SPECIAL_MEMBER name:entries visibility:public modality:FINAL [val]
FUN ENUM_CLASS_SPECIAL_MEMBER name:<get-entries> visibility:public modality:FINAL <> () returnType:kotlin.enums.EnumEntries<<root>.F>
correspondingProperty: PROPERTY ENUM_CLASS_SPECIAL_MEMBER name:entries visibility:public modality:FINAL [val]
SYNTHETIC_BODY kind=ENUM_ENTRIES
PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val]
annotations:
IntrinsicConstEvaluation
overridden:
public final name: kotlin.String
FUN FAKE_OVERRIDE name:<get-name> visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.F>) returnType:kotlin.String [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val]
overridden:
public final fun <get-name> (): kotlin.String declared in kotlin.Enum
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.F>
PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val]
overridden:
public final ordinal: kotlin.Int
FUN FAKE_OVERRIDE name:<get-ordinal> visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.F>) returnType:kotlin.Int [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val]
overridden:
public final fun <get-ordinal> (): kotlin.Int declared in kotlin.Enum
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.F>
CLASS INTERFACE name:KotlinInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.KotlinInterface
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
overridden:
public open fun hashCode (): kotlin.Int declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
overridden:
public open fun toString (): kotlin.String declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN name:foo visibility:public modality:OPEN <> ($this:<root>.KotlinInterface, i:kotlin.Int) returnType:kotlin.Unit
$this: VALUE_PARAMETER name:<this> type:<root>.KotlinInterface
VALUE_PARAMETER name:i index:0 type:kotlin.Int
BLOCK_BODY
FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Unit
BLOCK_BODY
CALL 'public open fun foo (i: kotlin.Int): kotlin.Unit declared in <root>.B' type=kotlin.Unit origin=null
$this: GET_ENUM 'ENUM_ENTRY name:FIRST' type=<root>.B
i: CONST Int type=kotlin.Int value=1
CALL 'public open fun foo (i: kotlin.Int): kotlin.Unit declared in <root>.B' type=kotlin.Unit origin=null
$this: GET_ENUM 'ENUM_ENTRY name:SECOND' type=<root>.B
i: CONST Int type=kotlin.Int value=1
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
CALL 'public final fun <get-ordinal> (): kotlin.Int declared in <root>.B' type=kotlin.Int origin=GET_PROPERTY
$this: GET_ENUM 'ENUM_ENTRY name:FIRST' type=<root>.B
CALL 'public open fun foo (i: kotlin.Int): kotlin.Unit declared in <root>.D' type=kotlin.Unit origin=null
$this: GET_ENUM 'ENUM_ENTRY name:FIRST' type=<root>.D
i: CONST Int type=kotlin.Int value=1
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
CALL 'public final fun <get-ordinal> (): kotlin.Int declared in <root>.D' type=kotlin.Int origin=GET_PROPERTY
$this: GET_ENUM 'ENUM_ENTRY name:FIRST' type=<root>.D
CALL 'public abstract fun foo (i: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in <root>.F' type=kotlin.Unit origin=null
$this: GET_ENUM 'ENUM_ENTRY name:FIRST' type=<root>.F
i: CONST Int type=kotlin.Int value=1
CALL 'public open fun foo (i: kotlin.Any): kotlin.Unit declared in <root>.F' type=kotlin.Unit origin=null
$this: GET_ENUM 'ENUM_ENTRY name:FIRST' type=<root>.F
i: CONST String type=kotlin.String value=""
CALL 'public abstract fun foo (i: @[FlexibleNullability] kotlin.Int?): kotlin.Unit declared in <root>.F' type=kotlin.Unit origin=null
$this: GET_ENUM 'ENUM_ENTRY name:FIRST' type=<root>.F
i: CONST Null type=kotlin.Nothing? value=null
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
CALL 'public final fun <get-ordinal> (): kotlin.Int declared in <root>.F' type=kotlin.Int origin=GET_PROPERTY
$this: GET_ENUM 'ENUM_ENTRY name:FIRST' type=<root>.F
@@ -0,0 +1,61 @@
// TARGET_BACKEND: JVM
// FULL_JDK
// MUTE_SIGNATURE_COMPARISON_K2: JVM_IR
// FILE: Java1.java
public interface Java1 {
public void foo(Integer i);
}
// FILE: Java2.java
public interface Java2 extends KotlinInterface { }
// FILE: Java3.java
public interface Java3 {
public void foo(Object i);
}
// FILE: 1.kt
enum class A : Java1 //Kotlin ← Java
enum class B : Java1 { //Kotlin ← Java with explicit override
FIRST {
override fun foo(i: Int) { }
},
SECOND;
override fun foo(i: Int) { }
}
enum class C: Java2 //Kotlin ← Java ← Kotlin
enum class D : Java2 { //Kotlin ← Java ← Kotlin with explicit override
FIRST {
override fun foo(i: Int) {}
};
override fun foo(i: Int) { }
}
enum class E : Java1, Java3 //Kotlin ← Java1, Java2
enum class F: Java1, Java3 { //Kotlin ← Java1, Java2 with explicit override
FIRST {
override fun foo(i: Int?) { }
};
override fun foo(i: Any) { }
}
interface KotlinInterface {
fun foo(i: Int){}
}
fun test() {
B.FIRST.foo(1)
B.SECOND.foo(1)
B.FIRST.ordinal
D.FIRST.foo(1)
D.FIRST.ordinal
F.FIRST.foo(1)
F.FIRST.foo("")
F.FIRST.foo(null)
F.FIRST.ordinal
}
@@ -0,0 +1,166 @@
abstract enum class A : Enum<A>, Java1 {
private constructor() /* primary */ {
super/*Enum*/<A>()
/* <init>() */
}
fun valueOf(value: String): A /* Synthetic body for ENUM_VALUEOF */
fun values(): Array<A> /* Synthetic body for ENUM_VALUES */
val entries: EnumEntries<A>
get(): EnumEntries<A> /* Synthetic body for ENUM_ENTRIES */
}
open enum class B : Enum<B>, Java1 {
FIRST = FIRST()
private enum entry class FIRST : B {
private constructor() /* primary */ {
super/*B*/() /*~> Unit */
/* <init>() */
}
override fun foo(i: Int) {
}
}
SECOND = B()
private constructor() /* primary */ {
super/*Enum*/<B>()
/* <init>() */
}
fun valueOf(value: String): B /* Synthetic body for ENUM_VALUEOF */
fun values(): Array<B> /* Synthetic body for ENUM_VALUES */
override fun foo(i: Int) {
}
val entries: EnumEntries<B>
get(): EnumEntries<B> /* Synthetic body for ENUM_ENTRIES */
}
enum class C : Enum<C>, Java2 {
private constructor() /* primary */ {
super/*Enum*/<C>()
/* <init>() */
}
fun valueOf(value: String): C /* Synthetic body for ENUM_VALUEOF */
fun values(): Array<C> /* Synthetic body for ENUM_VALUES */
val entries: EnumEntries<C>
get(): EnumEntries<C> /* Synthetic body for ENUM_ENTRIES */
}
open enum class D : Enum<D>, Java2 {
FIRST = FIRST()
private enum entry class FIRST : D {
private constructor() /* primary */ {
super/*D*/() /*~> Unit */
/* <init>() */
}
override fun foo(i: Int) {
}
}
private constructor() /* primary */ {
super/*Enum*/<D>()
/* <init>() */
}
fun valueOf(value: String): D /* Synthetic body for ENUM_VALUEOF */
fun values(): Array<D> /* Synthetic body for ENUM_VALUES */
override fun foo(i: Int) {
}
val entries: EnumEntries<D>
get(): EnumEntries<D> /* Synthetic body for ENUM_ENTRIES */
}
abstract enum class E : Enum<E>, Java1, Java3 {
private constructor() /* primary */ {
super/*Enum*/<E>()
/* <init>() */
}
fun valueOf(value: String): E /* Synthetic body for ENUM_VALUEOF */
fun values(): Array<E> /* Synthetic body for ENUM_VALUES */
val entries: EnumEntries<E>
get(): EnumEntries<E> /* Synthetic body for ENUM_ENTRIES */
}
abstract enum class F : Enum<F>, Java1, Java3 {
FIRST = FIRST()
private enum entry class FIRST : F {
private constructor() /* primary */ {
super/*F*/() /*~> Unit */
/* <init>() */
}
override fun foo(i: Int?) {
}
}
private constructor() /* primary */ {
super/*Enum*/<F>()
/* <init>() */
}
fun valueOf(value: String): F /* Synthetic body for ENUM_VALUEOF */
fun values(): Array<F> /* Synthetic body for ENUM_VALUES */
override fun foo(i: Any) {
}
val entries: EnumEntries<F>
get(): EnumEntries<F> /* Synthetic body for ENUM_ENTRIES */
}
interface KotlinInterface {
fun foo(i: Int) {
}
}
fun test() {
B.FIRST.foo(i = 1)
B.SECOND.foo(i = 1)
B.FIRST.<get-ordinal>() /*~> Unit */
D.FIRST.foo(i = 1)
D.FIRST.<get-ordinal>() /*~> Unit */
F.FIRST.foo(i = 1)
F.FIRST.foo(i = "")
F.FIRST.foo(i = null)
F.FIRST.<get-ordinal>() /*~> Unit */
}
@@ -0,0 +1,769 @@
// CHECK:
// Mangled name: A
// Public signature: /A|null[0]
abstract enum class A : Enum<A>, Java1 {
// CHECK:
// Mangled name: A#<init>(){}
// Public signature: /A.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
private constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: A#valueOf#static(kotlin.String){}A
// Public signature: /A.valueOf|8636923007498802918[0]
// Public signature debug description: valueOf#static(kotlin.String){}A
fun valueOf(value: String): A
// CHECK JVM_IR:
// Mangled name: A#values#static(){}kotlin.Array<A>
// Public signature: /A.values|5753238680897834936[0]
// Public signature debug description: values#static(){}kotlin.Array<A>
fun values(): Array<A>
// CHECK JVM_IR:
// Mangled name: A#compareTo(A){}kotlin.Int
// Public signature: /A.compareTo|-315052537630360750[0]
// Public signature debug description: compareTo(A){}kotlin.Int
/* fake */ override operator fun compareTo(other: A): Int
// CHECK JVM_IR:
// Mangled name: A#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /A.equals|722809408929142791[0]
// Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean
/* fake */ override operator fun equals(other: Any?): Boolean
// CHECK:
// Mangled name: A#foo(kotlin.Int?){}
// Public signature: /A.foo|-4109638554625433529[0]
// Public signature debug description: foo(kotlin.Int?){}
abstract /* fake */ override fun foo(i: Int?): Unit
// CHECK JVM_IR:
// Mangled name: A#hashCode(){}kotlin.Int
// Public signature: /A.hashCode|-8048879360829830756[0]
// Public signature debug description: hashCode(){}kotlin.Int
/* fake */ override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: A#toString(){}kotlin.String
// Public signature: /A.toString|6958853723545266802[0]
// Public signature debug description: toString(){}kotlin.String
/* fake */ override fun toString(): String
// CHECK:
// Mangled name: A#static{}entries
// Public signature: /A.entries|-5134227801081826149[0]
// Public signature debug description: #static{}entries
val entries: EnumEntries<A>
// CHECK JVM_IR:
// Mangled name: A#<get-entries>#static(){}kotlin.enums.EnumEntries<A>
// Public signature: /A.entries.<get-entries>|3279885591622842062[0]
// Public signature debug description: <get-entries>#static(){}kotlin.enums.EnumEntries<A>
get(): EnumEntries<A>
// CHECK:
// Mangled name: A{}name
// Public signature: /A.name|4231860309499509769[0]
// Public signature debug description: {}name
/* fake */ override val name: String
// CHECK JVM_IR:
// Mangled name: A#<get-name>(){}kotlin.String
// Public signature: /A.name.<get-name>|-8006111524522882650[0]
// Public signature debug description: <get-name>(){}kotlin.String
/* fake */ override get(): String
// CHECK:
// Mangled name: A{}ordinal
// Public signature: /A.ordinal|1912745122988592376[0]
// Public signature debug description: {}ordinal
/* fake */ override val ordinal: Int
// CHECK JVM_IR:
// Mangled name: A#<get-ordinal>(){}kotlin.Int
// Public signature: /A.ordinal.<get-ordinal>|-6902664390061762634[0]
// Public signature debug description: <get-ordinal>(){}kotlin.Int
/* fake */ override get(): Int
}
// CHECK:
// Mangled name: B
// Public signature: /B|null[0]
open enum class B : Enum<B>, Java1 {
// CHECK:
// Mangled name: B.FIRST
// Public signature: /B.FIRST|null[0]
FIRST
// CHECK:
// Mangled name: B.FIRST
// Public signature: /B.FIRST.<EEC>|null[0]
private enum entry class FIRST : B {
// CHECK:
// Mangled name: B.FIRST#<init>(){}
// Public signature: /B.FIRST.<EEC>.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
private constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: B.FIRST#compareTo(B){}kotlin.Int
// Public signature: /B.FIRST.<EEC>.compareTo|-1200795560863458264[0]
// Public signature debug description: compareTo(B){}kotlin.Int
/* fake */ override operator fun compareTo(other: B): Int
// CHECK JVM_IR:
// Mangled name: B.FIRST#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /B.FIRST.<EEC>.equals|722809408929142791[0]
// Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean
/* fake */ override operator fun equals(other: Any?): Boolean
// CHECK JVM_IR:
// Mangled name: B.FIRST#hashCode(){}kotlin.Int
// Public signature: /B.FIRST.<EEC>.hashCode|-8048879360829830756[0]
// Public signature debug description: hashCode(){}kotlin.Int
/* fake */ override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: B.FIRST#toString(){}kotlin.String
// Public signature: /B.FIRST.<EEC>.toString|6958853723545266802[0]
// Public signature debug description: toString(){}kotlin.String
/* fake */ override fun toString(): String
// CHECK:
// Mangled name: B.FIRST#foo(kotlin.Int){}
// Public signature: /B.FIRST.<EEC>.foo|-104159190164110731[0]
// Public signature debug description: foo(kotlin.Int){}
override fun foo(i: Int): Unit
// CHECK:
// Mangled name: B.FIRST{}name
// Public signature: /B.FIRST.<EEC>.name|4231860309499509769[0]
// Public signature debug description: {}name
/* fake */ override val name: String
// CHECK JVM_IR:
// Mangled name: B.FIRST#<get-name>(){}kotlin.String
// Public signature: /B.FIRST.<EEC>.name.<get-name>|-8006111524522882650[0]
// Public signature debug description: <get-name>(){}kotlin.String
/* fake */ override get(): String
// CHECK:
// Mangled name: B.FIRST{}ordinal
// Public signature: /B.FIRST.<EEC>.ordinal|1912745122988592376[0]
// Public signature debug description: {}ordinal
/* fake */ override val ordinal: Int
// CHECK JVM_IR:
// Mangled name: B.FIRST#<get-ordinal>(){}kotlin.Int
// Public signature: /B.FIRST.<EEC>.ordinal.<get-ordinal>|-6902664390061762634[0]
// Public signature debug description: <get-ordinal>(){}kotlin.Int
/* fake */ override get(): Int
}
// CHECK:
// Mangled name: B.SECOND
// Public signature: /B.SECOND|null[0]
SECOND
// CHECK:
// Mangled name: B#<init>(){}
// Public signature: /B.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
private constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: B#valueOf#static(kotlin.String){}B
// Public signature: /B.valueOf|2408567556946635432[0]
// Public signature debug description: valueOf#static(kotlin.String){}B
fun valueOf(value: String): B
// CHECK JVM_IR:
// Mangled name: B#values#static(){}kotlin.Array<B>
// Public signature: /B.values|-8395853061849580878[0]
// Public signature debug description: values#static(){}kotlin.Array<B>
fun values(): Array<B>
// CHECK JVM_IR:
// Mangled name: B#compareTo(B){}kotlin.Int
// Public signature: /B.compareTo|-1200795560863458264[0]
// Public signature debug description: compareTo(B){}kotlin.Int
/* fake */ override operator fun compareTo(other: B): Int
// CHECK JVM_IR:
// Mangled name: B#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /B.equals|722809408929142791[0]
// Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean
/* fake */ override operator fun equals(other: Any?): Boolean
// CHECK JVM_IR:
// Mangled name: B#hashCode(){}kotlin.Int
// Public signature: /B.hashCode|-8048879360829830756[0]
// Public signature debug description: hashCode(){}kotlin.Int
/* fake */ override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: B#toString(){}kotlin.String
// Public signature: /B.toString|6958853723545266802[0]
// Public signature debug description: toString(){}kotlin.String
/* fake */ override fun toString(): String
// CHECK:
// Mangled name: B#foo(kotlin.Int){}
// Public signature: /B.foo|-104159190164110731[0]
// Public signature debug description: foo(kotlin.Int){}
override fun foo(i: Int): Unit
// CHECK:
// Mangled name: B#static{}entries
// Public signature: /B.entries|-5134227801081826149[0]
// Public signature debug description: #static{}entries
val entries: EnumEntries<B>
// CHECK JVM_IR:
// Mangled name: B#<get-entries>#static(){}kotlin.enums.EnumEntries<B>
// Public signature: /B.entries.<get-entries>|-4957332767046741603[0]
// Public signature debug description: <get-entries>#static(){}kotlin.enums.EnumEntries<B>
get(): EnumEntries<B>
// CHECK:
// Mangled name: B{}name
// Public signature: /B.name|4231860309499509769[0]
// Public signature debug description: {}name
/* fake */ override val name: String
// CHECK JVM_IR:
// Mangled name: B#<get-name>(){}kotlin.String
// Public signature: /B.name.<get-name>|-8006111524522882650[0]
// Public signature debug description: <get-name>(){}kotlin.String
/* fake */ override get(): String
// CHECK:
// Mangled name: B{}ordinal
// Public signature: /B.ordinal|1912745122988592376[0]
// Public signature debug description: {}ordinal
/* fake */ override val ordinal: Int
// CHECK JVM_IR:
// Mangled name: B#<get-ordinal>(){}kotlin.Int
// Public signature: /B.ordinal.<get-ordinal>|-6902664390061762634[0]
// Public signature debug description: <get-ordinal>(){}kotlin.Int
/* fake */ override get(): Int
}
// CHECK:
// Mangled name: C
// Public signature: /C|null[0]
enum class C : Enum<C>, Java2 {
// CHECK:
// Mangled name: C#<init>(){}
// Public signature: /C.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
private constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: C#valueOf#static(kotlin.String){}C
// Public signature: /C.valueOf|-2389114151510560951[0]
// Public signature debug description: valueOf#static(kotlin.String){}C
fun valueOf(value: String): C
// CHECK JVM_IR:
// Mangled name: C#values#static(){}kotlin.Array<C>
// Public signature: /C.values|7502231763187299265[0]
// Public signature debug description: values#static(){}kotlin.Array<C>
fun values(): Array<C>
// CHECK JVM_IR:
// Mangled name: C#compareTo(C){}kotlin.Int
// Public signature: /C.compareTo|-1378233393991641821[0]
// Public signature debug description: compareTo(C){}kotlin.Int
/* fake */ override operator fun compareTo(other: C): Int
// CHECK JVM_IR:
// Mangled name: C#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /C.equals|722809408929142791[0]
// Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean
/* fake */ override operator fun equals(other: Any?): Boolean
// CHECK:
// Mangled name: C#foo(kotlin.Int){}
// Public signature: /C.foo|-104159190164110731[0]
// Public signature debug description: foo(kotlin.Int){}
/* fake */ override fun foo(i: Int): Unit
// CHECK JVM_IR:
// Mangled name: C#hashCode(){}kotlin.Int
// Public signature: /C.hashCode|-8048879360829830756[0]
// Public signature debug description: hashCode(){}kotlin.Int
/* fake */ override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: C#toString(){}kotlin.String
// Public signature: /C.toString|6958853723545266802[0]
// Public signature debug description: toString(){}kotlin.String
/* fake */ override fun toString(): String
// CHECK:
// Mangled name: C#static{}entries
// Public signature: /C.entries|-5134227801081826149[0]
// Public signature debug description: #static{}entries
val entries: EnumEntries<C>
// CHECK JVM_IR:
// Mangled name: C#<get-entries>#static(){}kotlin.enums.EnumEntries<C>
// Public signature: /C.entries.<get-entries>|6322210628834886742[0]
// Public signature debug description: <get-entries>#static(){}kotlin.enums.EnumEntries<C>
get(): EnumEntries<C>
// CHECK:
// Mangled name: C{}name
// Public signature: /C.name|4231860309499509769[0]
// Public signature debug description: {}name
/* fake */ override val name: String
// CHECK JVM_IR:
// Mangled name: C#<get-name>(){}kotlin.String
// Public signature: /C.name.<get-name>|-8006111524522882650[0]
// Public signature debug description: <get-name>(){}kotlin.String
/* fake */ override get(): String
// CHECK:
// Mangled name: C{}ordinal
// Public signature: /C.ordinal|1912745122988592376[0]
// Public signature debug description: {}ordinal
/* fake */ override val ordinal: Int
// CHECK JVM_IR:
// Mangled name: C#<get-ordinal>(){}kotlin.Int
// Public signature: /C.ordinal.<get-ordinal>|-6902664390061762634[0]
// Public signature debug description: <get-ordinal>(){}kotlin.Int
/* fake */ override get(): Int
}
// CHECK:
// Mangled name: D
// Public signature: /D|null[0]
open enum class D : Enum<D>, Java2 {
// CHECK:
// Mangled name: D.FIRST
// Public signature: /D.FIRST|null[0]
FIRST
// CHECK:
// Mangled name: D.FIRST
// Public signature: /D.FIRST.<EEC>|null[0]
private enum entry class FIRST : D {
// CHECK:
// Mangled name: D.FIRST#<init>(){}
// Public signature: /D.FIRST.<EEC>.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
private constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: D.FIRST#compareTo(D){}kotlin.Int
// Public signature: /D.FIRST.<EEC>.compareTo|5924288596671868389[0]
// Public signature debug description: compareTo(D){}kotlin.Int
/* fake */ override operator fun compareTo(other: D): Int
// CHECK JVM_IR:
// Mangled name: D.FIRST#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /D.FIRST.<EEC>.equals|722809408929142791[0]
// Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean
/* fake */ override operator fun equals(other: Any?): Boolean
// CHECK JVM_IR:
// Mangled name: D.FIRST#hashCode(){}kotlin.Int
// Public signature: /D.FIRST.<EEC>.hashCode|-8048879360829830756[0]
// Public signature debug description: hashCode(){}kotlin.Int
/* fake */ override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: D.FIRST#toString(){}kotlin.String
// Public signature: /D.FIRST.<EEC>.toString|6958853723545266802[0]
// Public signature debug description: toString(){}kotlin.String
/* fake */ override fun toString(): String
// CHECK:
// Mangled name: D.FIRST#foo(kotlin.Int){}
// Public signature: /D.FIRST.<EEC>.foo|-104159190164110731[0]
// Public signature debug description: foo(kotlin.Int){}
override fun foo(i: Int): Unit
// CHECK:
// Mangled name: D.FIRST{}name
// Public signature: /D.FIRST.<EEC>.name|4231860309499509769[0]
// Public signature debug description: {}name
/* fake */ override val name: String
// CHECK JVM_IR:
// Mangled name: D.FIRST#<get-name>(){}kotlin.String
// Public signature: /D.FIRST.<EEC>.name.<get-name>|-8006111524522882650[0]
// Public signature debug description: <get-name>(){}kotlin.String
/* fake */ override get(): String
// CHECK:
// Mangled name: D.FIRST{}ordinal
// Public signature: /D.FIRST.<EEC>.ordinal|1912745122988592376[0]
// Public signature debug description: {}ordinal
/* fake */ override val ordinal: Int
// CHECK JVM_IR:
// Mangled name: D.FIRST#<get-ordinal>(){}kotlin.Int
// Public signature: /D.FIRST.<EEC>.ordinal.<get-ordinal>|-6902664390061762634[0]
// Public signature debug description: <get-ordinal>(){}kotlin.Int
/* fake */ override get(): Int
}
// CHECK:
// Mangled name: D#<init>(){}
// Public signature: /D.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
private constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: D#valueOf#static(kotlin.String){}D
// Public signature: /D.valueOf|-4318015118377802396[0]
// Public signature debug description: valueOf#static(kotlin.String){}D
fun valueOf(value: String): D
// CHECK JVM_IR:
// Mangled name: D#values#static(){}kotlin.Array<D>
// Public signature: /D.values|-6336246312675667254[0]
// Public signature debug description: values#static(){}kotlin.Array<D>
fun values(): Array<D>
// CHECK JVM_IR:
// Mangled name: D#compareTo(D){}kotlin.Int
// Public signature: /D.compareTo|5924288596671868389[0]
// Public signature debug description: compareTo(D){}kotlin.Int
/* fake */ override operator fun compareTo(other: D): Int
// CHECK JVM_IR:
// Mangled name: D#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /D.equals|722809408929142791[0]
// Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean
/* fake */ override operator fun equals(other: Any?): Boolean
// CHECK JVM_IR:
// Mangled name: D#hashCode(){}kotlin.Int
// Public signature: /D.hashCode|-8048879360829830756[0]
// Public signature debug description: hashCode(){}kotlin.Int
/* fake */ override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: D#toString(){}kotlin.String
// Public signature: /D.toString|6958853723545266802[0]
// Public signature debug description: toString(){}kotlin.String
/* fake */ override fun toString(): String
// CHECK:
// Mangled name: D#foo(kotlin.Int){}
// Public signature: /D.foo|-104159190164110731[0]
// Public signature debug description: foo(kotlin.Int){}
override fun foo(i: Int): Unit
// CHECK:
// Mangled name: D#static{}entries
// Public signature: /D.entries|-5134227801081826149[0]
// Public signature debug description: #static{}entries
val entries: EnumEntries<D>
// CHECK JVM_IR:
// Mangled name: D#<get-entries>#static(){}kotlin.enums.EnumEntries<D>
// Public signature: /D.entries.<get-entries>|-8713100694557477903[0]
// Public signature debug description: <get-entries>#static(){}kotlin.enums.EnumEntries<D>
get(): EnumEntries<D>
// CHECK:
// Mangled name: D{}name
// Public signature: /D.name|4231860309499509769[0]
// Public signature debug description: {}name
/* fake */ override val name: String
// CHECK JVM_IR:
// Mangled name: D#<get-name>(){}kotlin.String
// Public signature: /D.name.<get-name>|-8006111524522882650[0]
// Public signature debug description: <get-name>(){}kotlin.String
/* fake */ override get(): String
// CHECK:
// Mangled name: D{}ordinal
// Public signature: /D.ordinal|1912745122988592376[0]
// Public signature debug description: {}ordinal
/* fake */ override val ordinal: Int
// CHECK JVM_IR:
// Mangled name: D#<get-ordinal>(){}kotlin.Int
// Public signature: /D.ordinal.<get-ordinal>|-6902664390061762634[0]
// Public signature debug description: <get-ordinal>(){}kotlin.Int
/* fake */ override get(): Int
}
// CHECK:
// Mangled name: E
// Public signature: /E|null[0]
abstract enum class E : Enum<E>, Java1, Java3 {
// CHECK:
// Mangled name: E#<init>(){}
// Public signature: /E.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
private constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: E#valueOf#static(kotlin.String){}E
// Public signature: /E.valueOf|-1984843552149141556[0]
// Public signature debug description: valueOf#static(kotlin.String){}E
fun valueOf(value: String): E
// CHECK JVM_IR:
// Mangled name: E#values#static(){}kotlin.Array<E>
// Public signature: /E.values|4921695905454219855[0]
// Public signature debug description: values#static(){}kotlin.Array<E>
fun values(): Array<E>
// CHECK JVM_IR:
// Mangled name: E#compareTo(E){}kotlin.Int
// Public signature: /E.compareTo|7895449182838894647[0]
// Public signature debug description: compareTo(E){}kotlin.Int
/* fake */ override operator fun compareTo(other: E): Int
// CHECK JVM_IR:
// Mangled name: E#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /E.equals|722809408929142791[0]
// Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean
/* fake */ override operator fun equals(other: Any?): Boolean
// CHECK:
// Mangled name: E#foo(kotlin.Int?){}
// Public signature: /E.foo|-4109638554625433529[0]
// Public signature debug description: foo(kotlin.Int?){}
abstract /* fake */ override fun foo(i: Int?): Unit
// CHECK:
// Mangled name: E#foo(kotlin.Any?){}
// Public signature: /E.foo|-6211124056249407422[0]
// Public signature debug description: foo(kotlin.Any?){}
abstract /* fake */ override fun foo(i: Any?): Unit
// CHECK JVM_IR:
// Mangled name: E#hashCode(){}kotlin.Int
// Public signature: /E.hashCode|-8048879360829830756[0]
// Public signature debug description: hashCode(){}kotlin.Int
/* fake */ override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: E#toString(){}kotlin.String
// Public signature: /E.toString|6958853723545266802[0]
// Public signature debug description: toString(){}kotlin.String
/* fake */ override fun toString(): String
// CHECK:
// Mangled name: E#static{}entries
// Public signature: /E.entries|-5134227801081826149[0]
// Public signature debug description: #static{}entries
val entries: EnumEntries<E>
// CHECK JVM_IR:
// Mangled name: E#<get-entries>#static(){}kotlin.enums.EnumEntries<E>
// Public signature: /E.entries.<get-entries>|2481970109947815388[0]
// Public signature debug description: <get-entries>#static(){}kotlin.enums.EnumEntries<E>
get(): EnumEntries<E>
// CHECK:
// Mangled name: E{}name
// Public signature: /E.name|4231860309499509769[0]
// Public signature debug description: {}name
/* fake */ override val name: String
// CHECK JVM_IR:
// Mangled name: E#<get-name>(){}kotlin.String
// Public signature: /E.name.<get-name>|-8006111524522882650[0]
// Public signature debug description: <get-name>(){}kotlin.String
/* fake */ override get(): String
// CHECK:
// Mangled name: E{}ordinal
// Public signature: /E.ordinal|1912745122988592376[0]
// Public signature debug description: {}ordinal
/* fake */ override val ordinal: Int
// CHECK JVM_IR:
// Mangled name: E#<get-ordinal>(){}kotlin.Int
// Public signature: /E.ordinal.<get-ordinal>|-6902664390061762634[0]
// Public signature debug description: <get-ordinal>(){}kotlin.Int
/* fake */ override get(): Int
}
// CHECK:
// Mangled name: F
// Public signature: /F|null[0]
abstract enum class F : Enum<F>, Java1, Java3 {
// CHECK:
// Mangled name: F.FIRST
// Public signature: /F.FIRST|null[0]
FIRST
// CHECK:
// Mangled name: F.FIRST
// Public signature: /F.FIRST.<EEC>|null[0]
private enum entry class FIRST : F {
// CHECK:
// Mangled name: F.FIRST#<init>(){}
// Public signature: /F.FIRST.<EEC>.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
private constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: F.FIRST#compareTo(F){}kotlin.Int
// Public signature: /F.FIRST.<EEC>.compareTo|8482488056118718078[0]
// Public signature debug description: compareTo(F){}kotlin.Int
/* fake */ override operator fun compareTo(other: F): Int
// CHECK JVM_IR:
// Mangled name: F.FIRST#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /F.FIRST.<EEC>.equals|722809408929142791[0]
// Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean
/* fake */ override operator fun equals(other: Any?): Boolean
// CHECK:
// Mangled name: F.FIRST#foo(kotlin.Any){}
// Public signature: /F.FIRST.<EEC>.foo|-3585887913961670341[0]
// Public signature debug description: foo(kotlin.Any){}
/* fake */ override fun foo(i: Any): Unit
// CHECK JVM_IR:
// Mangled name: F.FIRST#hashCode(){}kotlin.Int
// Public signature: /F.FIRST.<EEC>.hashCode|-8048879360829830756[0]
// Public signature debug description: hashCode(){}kotlin.Int
/* fake */ override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: F.FIRST#toString(){}kotlin.String
// Public signature: /F.FIRST.<EEC>.toString|6958853723545266802[0]
// Public signature debug description: toString(){}kotlin.String
/* fake */ override fun toString(): String
// CHECK:
// Mangled name: F.FIRST#foo(kotlin.Int?){}
// Public signature: /F.FIRST.<EEC>.foo|-4109638554625433529[0]
// Public signature debug description: foo(kotlin.Int?){}
override fun foo(i: Int?): Unit
// CHECK:
// Mangled name: F.FIRST{}name
// Public signature: /F.FIRST.<EEC>.name|4231860309499509769[0]
// Public signature debug description: {}name
/* fake */ override val name: String
// CHECK JVM_IR:
// Mangled name: F.FIRST#<get-name>(){}kotlin.String
// Public signature: /F.FIRST.<EEC>.name.<get-name>|-8006111524522882650[0]
// Public signature debug description: <get-name>(){}kotlin.String
/* fake */ override get(): String
// CHECK:
// Mangled name: F.FIRST{}ordinal
// Public signature: /F.FIRST.<EEC>.ordinal|1912745122988592376[0]
// Public signature debug description: {}ordinal
/* fake */ override val ordinal: Int
// CHECK JVM_IR:
// Mangled name: F.FIRST#<get-ordinal>(){}kotlin.Int
// Public signature: /F.FIRST.<EEC>.ordinal.<get-ordinal>|-6902664390061762634[0]
// Public signature debug description: <get-ordinal>(){}kotlin.Int
/* fake */ override get(): Int
}
// CHECK:
// Mangled name: F#<init>(){}
// Public signature: /F.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
private constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: F#valueOf#static(kotlin.String){}F
// Public signature: /F.valueOf|-6931713965736321469[0]
// Public signature debug description: valueOf#static(kotlin.String){}F
fun valueOf(value: String): F
// CHECK JVM_IR:
// Mangled name: F#values#static(){}kotlin.Array<F>
// Public signature: /F.values|-1565934500474862562[0]
// Public signature debug description: values#static(){}kotlin.Array<F>
fun values(): Array<F>
// CHECK JVM_IR:
// Mangled name: F#compareTo(F){}kotlin.Int
// Public signature: /F.compareTo|8482488056118718078[0]
// Public signature debug description: compareTo(F){}kotlin.Int
/* fake */ override operator fun compareTo(other: F): Int
// CHECK JVM_IR:
// Mangled name: F#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /F.equals|722809408929142791[0]
// Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean
/* fake */ override operator fun equals(other: Any?): Boolean
// CHECK:
// Mangled name: F#foo(kotlin.Int?){}
// Public signature: /F.foo|-4109638554625433529[0]
// Public signature debug description: foo(kotlin.Int?){}
abstract /* fake */ override fun foo(i: Int?): Unit
// CHECK JVM_IR:
// Mangled name: F#hashCode(){}kotlin.Int
// Public signature: /F.hashCode|-8048879360829830756[0]
// Public signature debug description: hashCode(){}kotlin.Int
/* fake */ override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: F#toString(){}kotlin.String
// Public signature: /F.toString|6958853723545266802[0]
// Public signature debug description: toString(){}kotlin.String
/* fake */ override fun toString(): String
// CHECK:
// Mangled name: F#foo(kotlin.Any){}
// Public signature: /F.foo|-3585887913961670341[0]
// Public signature debug description: foo(kotlin.Any){}
override fun foo(i: Any): Unit
// CHECK:
// Mangled name: F#static{}entries
// Public signature: /F.entries|-5134227801081826149[0]
// Public signature debug description: #static{}entries
val entries: EnumEntries<F>
// CHECK JVM_IR:
// Mangled name: F#<get-entries>#static(){}kotlin.enums.EnumEntries<F>
// Public signature: /F.entries.<get-entries>|-1289951778607473126[0]
// Public signature debug description: <get-entries>#static(){}kotlin.enums.EnumEntries<F>
get(): EnumEntries<F>
// CHECK:
// Mangled name: F{}name
// Public signature: /F.name|4231860309499509769[0]
// Public signature debug description: {}name
/* fake */ override val name: String
// CHECK JVM_IR:
// Mangled name: F#<get-name>(){}kotlin.String
// Public signature: /F.name.<get-name>|-8006111524522882650[0]
// Public signature debug description: <get-name>(){}kotlin.String
/* fake */ override get(): String
// CHECK:
// Mangled name: F{}ordinal
// Public signature: /F.ordinal|1912745122988592376[0]
// Public signature debug description: {}ordinal
/* fake */ override val ordinal: Int
// CHECK JVM_IR:
// Mangled name: F#<get-ordinal>(){}kotlin.Int
// Public signature: /F.ordinal.<get-ordinal>|-6902664390061762634[0]
// Public signature debug description: <get-ordinal>(){}kotlin.Int
/* fake */ override get(): Int
}
// CHECK:
// Mangled name: KotlinInterface
// Public signature: /KotlinInterface|null[0]
interface KotlinInterface {
// CHECK:
// Mangled name: KotlinInterface#foo(kotlin.Int){}
// Public signature: /KotlinInterface.foo|-104159190164110731[0]
// Public signature debug description: foo(kotlin.Int){}
fun foo(i: Int): Unit
}
// CHECK:
// Mangled name: #test(){}
// Public signature: /test|6620506149988718649[0]
// Public signature debug description: test(){}
fun test(): Unit