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