FILE fqName: fileName:/enumClassModality.kt CLASS ENUM_CLASS name:TestFinalEnum1 modality:FINAL visibility:public superTypes:[kotlin.Enum<.TestFinalEnum1>] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestFinalEnum1 CONSTRUCTOR visibility:private <> () returnType:.TestFinalEnum1 [primary] BLOCK_BODY ENUM_CONSTRUCTOR_CALL 'public constructor (name: kotlin.String, ordinal: kotlin.Int) [primary] declared in kotlin.Enum' : .TestFinalEnum1 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestFinalEnum1 modality:FINAL visibility:public superTypes:[kotlin.Enum<.TestFinalEnum1>]' ENUM_ENTRY name:X1 init: EXPRESSION_BODY ENUM_CONSTRUCTOR_CALL 'private constructor () [primary] declared in .TestFinalEnum1' FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum1>) returnType:kotlin.Any [fake_override] overridden: protected final fun clone (): kotlin.Any declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum1> FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum1>) returnType:kotlin.Unit [fake_override] overridden: protected/*protected and package*/ final fun finalize (): kotlin.Unit declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum1> FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum1>) returnType:java.lang.Class<.TestFinalEnum1?>? [fake_override] overridden: public final fun getDeclaringClass (): java.lang.Class? declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum1> FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum1>, other:.TestFinalEnum1) returnType:kotlin.Int [fake_override,operator] overridden: public final fun compareTo (other: E of kotlin.Enum): kotlin.Int [operator] declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum1> VALUE_PARAMETER name:other index:0 type:.TestFinalEnum1 FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum1>, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public final fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum1> VALUE_PARAMETER name:other index:0 type:kotlin.Any? FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum1>) returnType:kotlin.Int [fake_override] overridden: public final fun hashCode (): kotlin.Int declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum1> PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum1>) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.String declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum1> PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum1>) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.Int declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum1> FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestFinalEnum1>) returnType:kotlin.String [fake_override] overridden: public open fun toString (): kotlin.String declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum1> FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.TestFinalEnum1> SYNTHETIC_BODY kind=ENUM_VALUES FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.TestFinalEnum1 VALUE_PARAMETER name:value index:0 type:kotlin.String SYNTHETIC_BODY kind=ENUM_VALUEOF CLASS ENUM_CLASS name:TestFinalEnum2 modality:FINAL visibility:public superTypes:[kotlin.Enum<.TestFinalEnum2>] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestFinalEnum2 CONSTRUCTOR visibility:private <> (x:kotlin.Int) returnType:.TestFinalEnum2 [primary] VALUE_PARAMETER name:x index:0 type:kotlin.Int BLOCK_BODY ENUM_CONSTRUCTOR_CALL 'public constructor (name: kotlin.String, ordinal: kotlin.Int) [primary] declared in kotlin.Enum' : .TestFinalEnum2 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestFinalEnum2 modality:FINAL visibility:public superTypes:[kotlin.Enum<.TestFinalEnum2>]' PROPERTY name:x visibility:public modality:FINAL [val] FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:private [final] EXPRESSION_BODY GET_VAR 'x: kotlin.Int declared in .TestFinalEnum2.' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.TestFinalEnum2) returnType:kotlin.Int correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val] $this: VALUE_PARAMETER name: type:.TestFinalEnum2 BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun (): kotlin.Int declared in .TestFinalEnum2' GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null receiver: GET_VAR ': .TestFinalEnum2 declared in .TestFinalEnum2.' type=.TestFinalEnum2 origin=null ENUM_ENTRY name:X1 init: EXPRESSION_BODY ENUM_CONSTRUCTOR_CALL 'private constructor (x: kotlin.Int) [primary] declared in .TestFinalEnum2' x: CONST Int type=kotlin.Int value=1 FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum2>) returnType:kotlin.Any [fake_override] overridden: protected final fun clone (): kotlin.Any declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum2> FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum2>) returnType:kotlin.Unit [fake_override] overridden: protected/*protected and package*/ final fun finalize (): kotlin.Unit declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum2> FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum2>) returnType:java.lang.Class<.TestFinalEnum2?>? [fake_override] overridden: public final fun getDeclaringClass (): java.lang.Class? declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum2> FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum2>, other:.TestFinalEnum2) returnType:kotlin.Int [fake_override,operator] overridden: public final fun compareTo (other: E of kotlin.Enum): kotlin.Int [operator] declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum2> VALUE_PARAMETER name:other index:0 type:.TestFinalEnum2 FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum2>, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public final fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum2> VALUE_PARAMETER name:other index:0 type:kotlin.Any? FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum2>) returnType:kotlin.Int [fake_override] overridden: public final fun hashCode (): kotlin.Int declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum2> PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum2>) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.String declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum2> PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum2>) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.Int declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum2> FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestFinalEnum2>) returnType:kotlin.String [fake_override] overridden: public open fun toString (): kotlin.String declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum2> FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.TestFinalEnum2> SYNTHETIC_BODY kind=ENUM_VALUES FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.TestFinalEnum2 VALUE_PARAMETER name:value index:0 type:kotlin.String SYNTHETIC_BODY kind=ENUM_VALUEOF CLASS ENUM_CLASS name:TestFinalEnum3 modality:FINAL visibility:public superTypes:[kotlin.Enum<.TestFinalEnum3>] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestFinalEnum3 CONSTRUCTOR visibility:private <> () returnType:.TestFinalEnum3 [primary] BLOCK_BODY ENUM_CONSTRUCTOR_CALL 'public constructor (name: kotlin.String, ordinal: kotlin.Int) [primary] declared in kotlin.Enum' : .TestFinalEnum3 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestFinalEnum3 modality:FINAL visibility:public superTypes:[kotlin.Enum<.TestFinalEnum3>]' ENUM_ENTRY name:X1 init: EXPRESSION_BODY ENUM_CONSTRUCTOR_CALL 'private constructor () [primary] declared in .TestFinalEnum3' FUN name:doStuff visibility:public modality:FINAL <> ($this:.TestFinalEnum3) returnType:kotlin.Unit $this: VALUE_PARAMETER name: type:.TestFinalEnum3 BLOCK_BODY FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum3>) returnType:kotlin.Any [fake_override] overridden: protected final fun clone (): kotlin.Any declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum3> FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum3>) returnType:kotlin.Unit [fake_override] overridden: protected/*protected and package*/ final fun finalize (): kotlin.Unit declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum3> FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum3>) returnType:java.lang.Class<.TestFinalEnum3?>? [fake_override] overridden: public final fun getDeclaringClass (): java.lang.Class? declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum3> FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum3>, other:.TestFinalEnum3) returnType:kotlin.Int [fake_override,operator] overridden: public final fun compareTo (other: E of kotlin.Enum): kotlin.Int [operator] declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum3> VALUE_PARAMETER name:other index:0 type:.TestFinalEnum3 FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum3>, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public final fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum3> VALUE_PARAMETER name:other index:0 type:kotlin.Any? FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum3>) returnType:kotlin.Int [fake_override] overridden: public final fun hashCode (): kotlin.Int declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum3> PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum3>) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.String declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum3> PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestFinalEnum3>) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.Int declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum3> FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestFinalEnum3>) returnType:kotlin.String [fake_override] overridden: public open fun toString (): kotlin.String declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestFinalEnum3> FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.TestFinalEnum3> SYNTHETIC_BODY kind=ENUM_VALUES FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.TestFinalEnum3 VALUE_PARAMETER name:value index:0 type:kotlin.String SYNTHETIC_BODY kind=ENUM_VALUEOF CLASS ENUM_CLASS name:TestOpenEnum1 modality:OPEN visibility:public superTypes:[kotlin.Enum<.TestOpenEnum1>] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestOpenEnum1 CONSTRUCTOR visibility:private <> () returnType:.TestOpenEnum1 [primary] BLOCK_BODY ENUM_CONSTRUCTOR_CALL 'public constructor (name: kotlin.String, ordinal: kotlin.Int) [primary] declared in kotlin.Enum' : .TestOpenEnum1 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestOpenEnum1 modality:OPEN visibility:public superTypes:[kotlin.Enum<.TestOpenEnum1>]' ENUM_ENTRY name:X1 init: EXPRESSION_BODY ENUM_CONSTRUCTOR_CALL 'private constructor () [primary] declared in .TestOpenEnum1.X1' class: CLASS ENUM_ENTRY name:X1 modality:FINAL visibility:private superTypes:[.TestOpenEnum1] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestOpenEnum1.X1 CONSTRUCTOR visibility:private <> () returnType:.TestOpenEnum1.X1 [primary] BLOCK_BODY TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit ENUM_CONSTRUCTOR_CALL 'private constructor () [primary] declared in .TestOpenEnum1' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:X1 modality:FINAL visibility:private superTypes:[.TestOpenEnum1]' FUN name:toString visibility:public modality:OPEN <> ($this:.TestOpenEnum1.X1) returnType:kotlin.String overridden: public open fun toString (): kotlin.String [fake_override] declared in .TestOpenEnum1 $this: VALUE_PARAMETER name: type:.TestOpenEnum1.X1 BLOCK_BODY RETURN type=kotlin.Nothing from='public open fun toString (): kotlin.String declared in .TestOpenEnum1.X1' CONST String type=kotlin.String value="X1" FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>) returnType:kotlin.Any [fake_override] overridden: protected final fun clone (): kotlin.Any [fake_override] declared in .TestOpenEnum1 $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum1> FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>) returnType:kotlin.Unit [fake_override] overridden: protected/*protected and package*/ final fun finalize (): kotlin.Unit [fake_override] declared in .TestOpenEnum1 $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum1> FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>) returnType:java.lang.Class<.TestOpenEnum1?>? [fake_override] overridden: public final fun getDeclaringClass (): java.lang.Class<.TestOpenEnum1?>? [fake_override] declared in .TestOpenEnum1 $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum1> FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>, other:.TestOpenEnum1) returnType:kotlin.Int [fake_override,operator] overridden: public final fun compareTo (other: .TestOpenEnum1): kotlin.Int [fake_override,operator] declared in .TestOpenEnum1 $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum1> VALUE_PARAMETER name:other index:0 type:.TestOpenEnum1 FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public final fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in .TestOpenEnum1 $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum1> VALUE_PARAMETER name:other index:0 type:kotlin.Any? FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>) returnType:kotlin.Int [fake_override] overridden: public final fun hashCode (): kotlin.Int [fake_override] declared in .TestOpenEnum1 $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum1> PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.String [fake_override] declared in .TestOpenEnum1 $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum1> PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.Int [fake_override] declared in .TestOpenEnum1 $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum1> FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>) returnType:kotlin.Any [fake_override] overridden: protected final fun clone (): kotlin.Any declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum1> FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>) returnType:kotlin.Unit [fake_override] overridden: protected/*protected and package*/ final fun finalize (): kotlin.Unit declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum1> FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>) returnType:java.lang.Class<.TestOpenEnum1?>? [fake_override] overridden: public final fun getDeclaringClass (): java.lang.Class? declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum1> FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>, other:.TestOpenEnum1) returnType:kotlin.Int [fake_override,operator] overridden: public final fun compareTo (other: E of kotlin.Enum): kotlin.Int [operator] declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum1> VALUE_PARAMETER name:other index:0 type:.TestOpenEnum1 FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public final fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum1> VALUE_PARAMETER name:other index:0 type:kotlin.Any? FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>) returnType:kotlin.Int [fake_override] overridden: public final fun hashCode (): kotlin.Int declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum1> PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.String declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum1> PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum1>) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.Int declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum1> FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestOpenEnum1>) returnType:kotlin.String [fake_override] overridden: public open fun toString (): kotlin.String declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum1> FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.TestOpenEnum1> SYNTHETIC_BODY kind=ENUM_VALUES FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.TestOpenEnum1 VALUE_PARAMETER name:value index:0 type:kotlin.String SYNTHETIC_BODY kind=ENUM_VALUEOF CLASS ENUM_CLASS name:TestOpenEnum2 modality:OPEN visibility:public superTypes:[kotlin.Enum<.TestOpenEnum2>] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestOpenEnum2 CONSTRUCTOR visibility:private <> () returnType:.TestOpenEnum2 [primary] BLOCK_BODY ENUM_CONSTRUCTOR_CALL 'public constructor (name: kotlin.String, ordinal: kotlin.Int) [primary] declared in kotlin.Enum' : .TestOpenEnum2 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestOpenEnum2 modality:OPEN visibility:public superTypes:[kotlin.Enum<.TestOpenEnum2>]' ENUM_ENTRY name:X1 init: EXPRESSION_BODY ENUM_CONSTRUCTOR_CALL 'private constructor () [primary] declared in .TestOpenEnum2.X1' class: CLASS ENUM_ENTRY name:X1 modality:FINAL visibility:private superTypes:[.TestOpenEnum2] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestOpenEnum2.X1 CONSTRUCTOR visibility:private <> () returnType:.TestOpenEnum2.X1 [primary] BLOCK_BODY TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit ENUM_CONSTRUCTOR_CALL 'private constructor () [primary] declared in .TestOpenEnum2' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:X1 modality:FINAL visibility:private superTypes:[.TestOpenEnum2]' FUN name:foo visibility:public modality:OPEN <> ($this:.TestOpenEnum2.X1) returnType:kotlin.Unit overridden: public open fun foo (): kotlin.Unit declared in .TestOpenEnum2 $this: VALUE_PARAMETER name: type:.TestOpenEnum2.X1 BLOCK_BODY FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>) returnType:kotlin.Any [fake_override] overridden: protected final fun clone (): kotlin.Any [fake_override] declared in .TestOpenEnum2 $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum2> FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>) returnType:kotlin.Unit [fake_override] overridden: protected/*protected and package*/ final fun finalize (): kotlin.Unit [fake_override] declared in .TestOpenEnum2 $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum2> FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>) returnType:java.lang.Class<.TestOpenEnum2?>? [fake_override] overridden: public final fun getDeclaringClass (): java.lang.Class<.TestOpenEnum2?>? [fake_override] declared in .TestOpenEnum2 $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum2> FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>, other:.TestOpenEnum2) returnType:kotlin.Int [fake_override,operator] overridden: public final fun compareTo (other: .TestOpenEnum2): kotlin.Int [fake_override,operator] declared in .TestOpenEnum2 $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum2> VALUE_PARAMETER name:other index:0 type:.TestOpenEnum2 FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public final fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in .TestOpenEnum2 $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum2> VALUE_PARAMETER name:other index:0 type:kotlin.Any? FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>) returnType:kotlin.Int [fake_override] overridden: public final fun hashCode (): kotlin.Int [fake_override] declared in .TestOpenEnum2 $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum2> PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.String [fake_override] declared in .TestOpenEnum2 $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum2> PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.Int [fake_override] declared in .TestOpenEnum2 $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum2> FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestOpenEnum2>) returnType:kotlin.String [fake_override] overridden: public open fun toString (): kotlin.String [fake_override] declared in .TestOpenEnum2 $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum2> FUN name:foo visibility:public modality:OPEN <> ($this:.TestOpenEnum2) returnType:kotlin.Unit $this: VALUE_PARAMETER name: type:.TestOpenEnum2 BLOCK_BODY FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>) returnType:kotlin.Any [fake_override] overridden: protected final fun clone (): kotlin.Any declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum2> FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>) returnType:kotlin.Unit [fake_override] overridden: protected/*protected and package*/ final fun finalize (): kotlin.Unit declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum2> FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>) returnType:java.lang.Class<.TestOpenEnum2?>? [fake_override] overridden: public final fun getDeclaringClass (): java.lang.Class? declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum2> FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>, other:.TestOpenEnum2) returnType:kotlin.Int [fake_override,operator] overridden: public final fun compareTo (other: E of kotlin.Enum): kotlin.Int [operator] declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum2> VALUE_PARAMETER name:other index:0 type:.TestOpenEnum2 FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public final fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum2> VALUE_PARAMETER name:other index:0 type:kotlin.Any? FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>) returnType:kotlin.Int [fake_override] overridden: public final fun hashCode (): kotlin.Int declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum2> PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.String declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum2> PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestOpenEnum2>) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.Int declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum2> FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestOpenEnum2>) returnType:kotlin.String [fake_override] overridden: public open fun toString (): kotlin.String declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestOpenEnum2> FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.TestOpenEnum2> SYNTHETIC_BODY kind=ENUM_VALUES FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.TestOpenEnum2 VALUE_PARAMETER name:value index:0 type:kotlin.String SYNTHETIC_BODY kind=ENUM_VALUEOF CLASS ENUM_CLASS name:TestAbstractEnum1 modality:ABSTRACT visibility:public superTypes:[kotlin.Enum<.TestAbstractEnum1>] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestAbstractEnum1 CONSTRUCTOR visibility:private <> () returnType:.TestAbstractEnum1 [primary] BLOCK_BODY ENUM_CONSTRUCTOR_CALL 'public constructor (name: kotlin.String, ordinal: kotlin.Int) [primary] declared in kotlin.Enum' : .TestAbstractEnum1 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestAbstractEnum1 modality:ABSTRACT visibility:public superTypes:[kotlin.Enum<.TestAbstractEnum1>]' ENUM_ENTRY name:X1 init: EXPRESSION_BODY ENUM_CONSTRUCTOR_CALL 'private constructor () [primary] declared in .TestAbstractEnum1.X1' class: CLASS ENUM_ENTRY name:X1 modality:FINAL visibility:private superTypes:[.TestAbstractEnum1] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestAbstractEnum1.X1 CONSTRUCTOR visibility:private <> () returnType:.TestAbstractEnum1.X1 [primary] BLOCK_BODY TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit ENUM_CONSTRUCTOR_CALL 'private constructor () [primary] declared in .TestAbstractEnum1' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:X1 modality:FINAL visibility:private superTypes:[.TestAbstractEnum1]' FUN name:foo visibility:public modality:OPEN <> ($this:.TestAbstractEnum1.X1) returnType:kotlin.Unit overridden: public abstract fun foo (): kotlin.Unit declared in .TestAbstractEnum1 $this: VALUE_PARAMETER name: type:.TestAbstractEnum1.X1 BLOCK_BODY FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>) returnType:kotlin.Any [fake_override] overridden: protected final fun clone (): kotlin.Any [fake_override] declared in .TestAbstractEnum1 $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum1> FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>) returnType:kotlin.Unit [fake_override] overridden: protected/*protected and package*/ final fun finalize (): kotlin.Unit [fake_override] declared in .TestAbstractEnum1 $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum1> FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>) returnType:java.lang.Class<.TestAbstractEnum1?>? [fake_override] overridden: public final fun getDeclaringClass (): java.lang.Class<.TestAbstractEnum1?>? [fake_override] declared in .TestAbstractEnum1 $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum1> FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>, other:.TestAbstractEnum1) returnType:kotlin.Int [fake_override,operator] overridden: public final fun compareTo (other: .TestAbstractEnum1): kotlin.Int [fake_override,operator] declared in .TestAbstractEnum1 $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum1> VALUE_PARAMETER name:other index:0 type:.TestAbstractEnum1 FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public final fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in .TestAbstractEnum1 $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum1> VALUE_PARAMETER name:other index:0 type:kotlin.Any? FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>) returnType:kotlin.Int [fake_override] overridden: public final fun hashCode (): kotlin.Int [fake_override] declared in .TestAbstractEnum1 $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum1> PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.String [fake_override] declared in .TestAbstractEnum1 $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum1> PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.Int [fake_override] declared in .TestAbstractEnum1 $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum1> FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestAbstractEnum1>) returnType:kotlin.String [fake_override] overridden: public open fun toString (): kotlin.String [fake_override] declared in .TestAbstractEnum1 $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum1> FUN name:foo visibility:public modality:ABSTRACT <> ($this:.TestAbstractEnum1) returnType:kotlin.Unit $this: VALUE_PARAMETER name: type:.TestAbstractEnum1 FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>) returnType:kotlin.Any [fake_override] overridden: protected final fun clone (): kotlin.Any declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum1> FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>) returnType:kotlin.Unit [fake_override] overridden: protected/*protected and package*/ final fun finalize (): kotlin.Unit declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum1> FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>) returnType:java.lang.Class<.TestAbstractEnum1?>? [fake_override] overridden: public final fun getDeclaringClass (): java.lang.Class? declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum1> FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>, other:.TestAbstractEnum1) returnType:kotlin.Int [fake_override,operator] overridden: public final fun compareTo (other: E of kotlin.Enum): kotlin.Int [operator] declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum1> VALUE_PARAMETER name:other index:0 type:.TestAbstractEnum1 FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public final fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum1> VALUE_PARAMETER name:other index:0 type:kotlin.Any? FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>) returnType:kotlin.Int [fake_override] overridden: public final fun hashCode (): kotlin.Int declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum1> PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.String declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum1> PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum1>) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.Int declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum1> FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestAbstractEnum1>) returnType:kotlin.String [fake_override] overridden: public open fun toString (): kotlin.String declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum1> FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.TestAbstractEnum1> SYNTHETIC_BODY kind=ENUM_VALUES FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.TestAbstractEnum1 VALUE_PARAMETER name:value index:0 type:kotlin.String SYNTHETIC_BODY kind=ENUM_VALUEOF CLASS INTERFACE name:IFoo modality:ABSTRACT visibility:public superTypes:[kotlin.Any] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.IFoo FUN name:foo visibility:public modality:ABSTRACT <> ($this:.IFoo) returnType:kotlin.Unit $this: VALUE_PARAMETER name: type:.IFoo 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 [operator] declared in kotlin.Any $this: VALUE_PARAMETER name: 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: 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: type:kotlin.Any CLASS ENUM_CLASS name:TestAbstractEnum2 modality:ABSTRACT visibility:public superTypes:[kotlin.Enum<.TestAbstractEnum2>; .IFoo] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestAbstractEnum2 CONSTRUCTOR visibility:private <> () returnType:.TestAbstractEnum2 [primary] BLOCK_BODY ENUM_CONSTRUCTOR_CALL 'public constructor (name: kotlin.String, ordinal: kotlin.Int) [primary] declared in kotlin.Enum' : .TestAbstractEnum2 INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestAbstractEnum2 modality:ABSTRACT visibility:public superTypes:[kotlin.Enum<.TestAbstractEnum2>; .IFoo]' ENUM_ENTRY name:X1 init: EXPRESSION_BODY ENUM_CONSTRUCTOR_CALL 'private constructor () [primary] declared in .TestAbstractEnum2.X1' class: CLASS ENUM_ENTRY name:X1 modality:FINAL visibility:private superTypes:[.TestAbstractEnum2] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.TestAbstractEnum2.X1 CONSTRUCTOR visibility:private <> () returnType:.TestAbstractEnum2.X1 [primary] BLOCK_BODY TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit ENUM_CONSTRUCTOR_CALL 'private constructor () [primary] declared in .TestAbstractEnum2' INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:X1 modality:FINAL visibility:private superTypes:[.TestAbstractEnum2]' FUN name:foo visibility:public modality:OPEN <> ($this:.TestAbstractEnum2.X1) returnType:kotlin.Unit overridden: public abstract fun foo (): kotlin.Unit [fake_override] declared in .TestAbstractEnum2 $this: VALUE_PARAMETER name: type:.TestAbstractEnum2.X1 BLOCK_BODY FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>) returnType:kotlin.Any [fake_override] overridden: protected final fun clone (): kotlin.Any [fake_override] declared in .TestAbstractEnum2 $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum2> FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>) returnType:kotlin.Unit [fake_override] overridden: protected/*protected and package*/ final fun finalize (): kotlin.Unit [fake_override] declared in .TestAbstractEnum2 $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum2> FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>) returnType:java.lang.Class<.TestAbstractEnum2?>? [fake_override] overridden: public final fun getDeclaringClass (): java.lang.Class<.TestAbstractEnum2?>? [fake_override] declared in .TestAbstractEnum2 $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum2> FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>, other:.TestAbstractEnum2) returnType:kotlin.Int [fake_override,operator] overridden: public final fun compareTo (other: .TestAbstractEnum2): kotlin.Int [fake_override,operator] declared in .TestAbstractEnum2 $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum2> VALUE_PARAMETER name:other index:0 type:.TestAbstractEnum2 FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public final fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in .TestAbstractEnum2 $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum2> VALUE_PARAMETER name:other index:0 type:kotlin.Any? FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>) returnType:kotlin.Int [fake_override] overridden: public final fun hashCode (): kotlin.Int [fake_override] declared in .TestAbstractEnum2 $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum2> PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.String [fake_override] declared in .TestAbstractEnum2 $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum2> PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.Int [fake_override] declared in .TestAbstractEnum2 $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum2> FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestAbstractEnum2>) returnType:kotlin.String [fake_override] overridden: public open fun toString (): kotlin.String [fake_override] declared in .TestAbstractEnum2 $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum2> FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>) returnType:kotlin.Any [fake_override] overridden: protected final fun clone (): kotlin.Any declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum2> FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>) returnType:kotlin.Unit [fake_override] overridden: protected/*protected and package*/ final fun finalize (): kotlin.Unit declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum2> FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:.IFoo) returnType:kotlin.Unit [fake_override] overridden: public abstract fun foo (): kotlin.Unit declared in .IFoo $this: VALUE_PARAMETER name: type:.IFoo FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>) returnType:java.lang.Class<.TestAbstractEnum2?>? [fake_override] overridden: public final fun getDeclaringClass (): java.lang.Class? declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum2> FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>, other:.TestAbstractEnum2) returnType:kotlin.Int [fake_override,operator] overridden: public final fun compareTo (other: E of kotlin.Enum): kotlin.Int [operator] declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum2> VALUE_PARAMETER name:other index:0 type:.TestAbstractEnum2 PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>) returnType:kotlin.String [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.String declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum2> PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>) returnType:kotlin.Int [fake_override] correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val] overridden: public final fun (): kotlin.Int declared in kotlin.Enum $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum2> FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] overridden: public final fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Enum public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in .IFoo $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum2> VALUE_PARAMETER name:other index:0 type:kotlin.Any? FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<.TestAbstractEnum2>) returnType:kotlin.Int [fake_override] overridden: public final fun hashCode (): kotlin.Int declared in kotlin.Enum public open fun hashCode (): kotlin.Int [fake_override] declared in .IFoo $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum2> FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<.TestAbstractEnum2>) returnType:kotlin.String [fake_override] overridden: public open fun toString (): kotlin.String declared in kotlin.Enum public open fun toString (): kotlin.String [fake_override] declared in .IFoo $this: VALUE_PARAMETER name: type:kotlin.Enum<.TestAbstractEnum2> FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<.TestAbstractEnum2> SYNTHETIC_BODY kind=ENUM_VALUES FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:.TestAbstractEnum2 VALUE_PARAMETER name:value index:0 type:kotlin.String SYNTHETIC_BODY kind=ENUM_VALUEOF