FILE /enum.kt CLASS ENUM_CLASS TestEnum1 $this: VALUE_PARAMETER this@TestEnum1: TestEnum1 CONSTRUCTOR private constructor TestEnum1() BLOCK_BODY ENUM_CONSTRUCTOR_CALL 'constructor Enum(String, Int)' >: null INSTANCE_INITIALIZER_CALL classDescriptor='TestEnum1' ENUM_ENTRY enum entry TEST1 init: ENUM_CONSTRUCTOR_CALL 'constructor TestEnum1()' ENUM_ENTRY enum entry TEST2 init: ENUM_CONSTRUCTOR_CALL 'constructor TestEnum1()' FUN FAKE_OVERRIDE protected final override fun clone(): kotlin.Any $this: VALUE_PARAMETER this@Enum: Enum FUN FAKE_OVERRIDE protected/*protected and package*/ final override fun finalize(): kotlin.Unit $this: VALUE_PARAMETER this@Enum: Enum FUN FAKE_OVERRIDE public final override fun getDeclaringClass(): java.lang.Class! $this: VALUE_PARAMETER this@Enum: Enum FUN FAKE_OVERRIDE public final override fun compareTo(other: TestEnum1): kotlin.Int $this: VALUE_PARAMETER this@Enum: Enum VALUE_PARAMETER value-parameter other: TestEnum1 FUN FAKE_OVERRIDE public final override fun equals(other: kotlin.Any?): kotlin.Boolean $this: VALUE_PARAMETER this@Enum: Enum VALUE_PARAMETER value-parameter other: kotlin.Any? FUN FAKE_OVERRIDE public final override fun hashCode(): kotlin.Int $this: VALUE_PARAMETER this@Enum: Enum PROPERTY FAKE_OVERRIDE public final override val name: kotlin.String FUN FAKE_OVERRIDE public final override fun (): kotlin.String $this: VALUE_PARAMETER this@Enum: Enum PROPERTY FAKE_OVERRIDE public final override val ordinal: kotlin.Int FUN FAKE_OVERRIDE public final override fun (): kotlin.Int $this: VALUE_PARAMETER this@Enum: Enum FUN FAKE_OVERRIDE public open override fun toString(): kotlin.String $this: VALUE_PARAMETER this@Enum: Enum FUN ENUM_CLASS_SPECIAL_MEMBER public final fun values(): kotlin.Array SYNTHETIC_BODY kind=ENUM_VALUES FUN ENUM_CLASS_SPECIAL_MEMBER public final fun valueOf(value: kotlin.String): TestEnum1 VALUE_PARAMETER value-parameter value: kotlin.String SYNTHETIC_BODY kind=ENUM_VALUEOF CLASS ENUM_CLASS TestEnum2 $this: VALUE_PARAMETER this@TestEnum2: TestEnum2 CONSTRUCTOR private constructor TestEnum2(x: kotlin.Int) VALUE_PARAMETER value-parameter x: kotlin.Int BLOCK_BODY ENUM_CONSTRUCTOR_CALL 'constructor Enum(String, Int)' >: null INSTANCE_INITIALIZER_CALL classDescriptor='TestEnum2' PROPERTY public final val x: kotlin.Int FIELD PROPERTY_BACKING_FIELD public final val x: kotlin.Int EXPRESSION_BODY GET_VAR 'value-parameter x: Int' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER FUN DEFAULT_PROPERTY_ACCESSOR public final fun (): kotlin.Int $this: VALUE_PARAMETER this@TestEnum2: TestEnum2 BLOCK_BODY RETURN type=kotlin.Nothing from='(): Int' GET_FIELD 'x: Int' type=kotlin.Int origin=null receiver: GET_VAR 'this@TestEnum2: TestEnum2' type=TestEnum2 origin=null ENUM_ENTRY enum entry TEST1 init: ENUM_CONSTRUCTOR_CALL 'constructor TestEnum2(Int)' x: CONST Int type=kotlin.Int value='1' ENUM_ENTRY enum entry TEST2 init: ENUM_CONSTRUCTOR_CALL 'constructor TestEnum2(Int)' x: CONST Int type=kotlin.Int value='2' ENUM_ENTRY enum entry TEST3 init: ENUM_CONSTRUCTOR_CALL 'constructor TestEnum2(Int)' x: CONST Int type=kotlin.Int value='3' FUN FAKE_OVERRIDE protected final override fun clone(): kotlin.Any $this: VALUE_PARAMETER this@Enum: Enum FUN FAKE_OVERRIDE protected/*protected and package*/ final override fun finalize(): kotlin.Unit $this: VALUE_PARAMETER this@Enum: Enum FUN FAKE_OVERRIDE public final override fun getDeclaringClass(): java.lang.Class! $this: VALUE_PARAMETER this@Enum: Enum FUN FAKE_OVERRIDE public final override fun compareTo(other: TestEnum2): kotlin.Int $this: VALUE_PARAMETER this@Enum: Enum VALUE_PARAMETER value-parameter other: TestEnum2 FUN FAKE_OVERRIDE public final override fun equals(other: kotlin.Any?): kotlin.Boolean $this: VALUE_PARAMETER this@Enum: Enum VALUE_PARAMETER value-parameter other: kotlin.Any? FUN FAKE_OVERRIDE public final override fun hashCode(): kotlin.Int $this: VALUE_PARAMETER this@Enum: Enum PROPERTY FAKE_OVERRIDE public final override val name: kotlin.String FUN FAKE_OVERRIDE public final override fun (): kotlin.String $this: VALUE_PARAMETER this@Enum: Enum PROPERTY FAKE_OVERRIDE public final override val ordinal: kotlin.Int FUN FAKE_OVERRIDE public final override fun (): kotlin.Int $this: VALUE_PARAMETER this@Enum: Enum FUN FAKE_OVERRIDE public open override fun toString(): kotlin.String $this: VALUE_PARAMETER this@Enum: Enum FUN ENUM_CLASS_SPECIAL_MEMBER public final fun values(): kotlin.Array SYNTHETIC_BODY kind=ENUM_VALUES FUN ENUM_CLASS_SPECIAL_MEMBER public final fun valueOf(value: kotlin.String): TestEnum2 VALUE_PARAMETER value-parameter value: kotlin.String SYNTHETIC_BODY kind=ENUM_VALUEOF CLASS ENUM_CLASS TestEnum3 $this: VALUE_PARAMETER this@TestEnum3: TestEnum3 CONSTRUCTOR private constructor TestEnum3() BLOCK_BODY ENUM_CONSTRUCTOR_CALL 'constructor Enum(String, Int)' >: null INSTANCE_INITIALIZER_CALL classDescriptor='TestEnum3' ENUM_ENTRY enum entry TEST init: ENUM_CONSTRUCTOR_CALL 'constructor TEST()' class: CLASS ENUM_ENTRY TEST $this: VALUE_PARAMETER this@TEST: TEST CONSTRUCTOR private constructor TEST() BLOCK_BODY ENUM_CONSTRUCTOR_CALL 'constructor TestEnum3()' INSTANCE_INITIALIZER_CALL classDescriptor='TEST' FUN public open override fun foo(): kotlin.Unit $this: VALUE_PARAMETER this@TEST: TEST BLOCK_BODY CALL 'println(Any?): Unit' type=kotlin.Unit origin=null message: CONST String type=kotlin.String value='Hello, world!' FUN FAKE_OVERRIDE protected final override fun clone(): kotlin.Any $this: VALUE_PARAMETER this@Enum: Enum FUN FAKE_OVERRIDE protected/*protected and package*/ final override fun finalize(): kotlin.Unit $this: VALUE_PARAMETER this@Enum: Enum FUN FAKE_OVERRIDE public final override fun getDeclaringClass(): java.lang.Class! $this: VALUE_PARAMETER this@Enum: Enum FUN FAKE_OVERRIDE public final override fun compareTo(other: TestEnum3): kotlin.Int $this: VALUE_PARAMETER this@Enum: Enum VALUE_PARAMETER value-parameter other: TestEnum3 FUN FAKE_OVERRIDE public final override fun equals(other: kotlin.Any?): kotlin.Boolean $this: VALUE_PARAMETER this@Enum: Enum VALUE_PARAMETER value-parameter other: kotlin.Any? FUN FAKE_OVERRIDE public final override fun hashCode(): kotlin.Int $this: VALUE_PARAMETER this@Enum: Enum PROPERTY FAKE_OVERRIDE public final override val name: kotlin.String FUN FAKE_OVERRIDE public final override fun (): kotlin.String $this: VALUE_PARAMETER this@Enum: Enum PROPERTY FAKE_OVERRIDE public final override val ordinal: kotlin.Int FUN FAKE_OVERRIDE public final override fun (): kotlin.Int $this: VALUE_PARAMETER this@Enum: Enum FUN FAKE_OVERRIDE public open override fun toString(): kotlin.String $this: VALUE_PARAMETER this@Enum: Enum FUN public abstract fun foo(): kotlin.Unit $this: VALUE_PARAMETER this@TestEnum3: TestEnum3 FUN FAKE_OVERRIDE protected final override fun clone(): kotlin.Any $this: VALUE_PARAMETER this@Enum: Enum FUN FAKE_OVERRIDE protected/*protected and package*/ final override fun finalize(): kotlin.Unit $this: VALUE_PARAMETER this@Enum: Enum FUN FAKE_OVERRIDE public final override fun getDeclaringClass(): java.lang.Class! $this: VALUE_PARAMETER this@Enum: Enum FUN FAKE_OVERRIDE public final override fun compareTo(other: TestEnum3): kotlin.Int $this: VALUE_PARAMETER this@Enum: Enum VALUE_PARAMETER value-parameter other: TestEnum3 FUN FAKE_OVERRIDE public final override fun equals(other: kotlin.Any?): kotlin.Boolean $this: VALUE_PARAMETER this@Enum: Enum VALUE_PARAMETER value-parameter other: kotlin.Any? FUN FAKE_OVERRIDE public final override fun hashCode(): kotlin.Int $this: VALUE_PARAMETER this@Enum: Enum PROPERTY FAKE_OVERRIDE public final override val name: kotlin.String FUN FAKE_OVERRIDE public final override fun (): kotlin.String $this: VALUE_PARAMETER this@Enum: Enum PROPERTY FAKE_OVERRIDE public final override val ordinal: kotlin.Int FUN FAKE_OVERRIDE public final override fun (): kotlin.Int $this: VALUE_PARAMETER this@Enum: Enum FUN FAKE_OVERRIDE public open override fun toString(): kotlin.String $this: VALUE_PARAMETER this@Enum: Enum FUN ENUM_CLASS_SPECIAL_MEMBER public final fun values(): kotlin.Array SYNTHETIC_BODY kind=ENUM_VALUES FUN ENUM_CLASS_SPECIAL_MEMBER public final fun valueOf(value: kotlin.String): TestEnum3 VALUE_PARAMETER value-parameter value: kotlin.String SYNTHETIC_BODY kind=ENUM_VALUEOF CLASS ENUM_CLASS TestEnum4 $this: VALUE_PARAMETER this@TestEnum4: TestEnum4 CONSTRUCTOR private constructor TestEnum4(x: kotlin.Int) VALUE_PARAMETER value-parameter x: kotlin.Int BLOCK_BODY ENUM_CONSTRUCTOR_CALL 'constructor Enum(String, Int)' >: null INSTANCE_INITIALIZER_CALL classDescriptor='TestEnum4' PROPERTY public final val x: kotlin.Int FIELD PROPERTY_BACKING_FIELD public final val x: kotlin.Int EXPRESSION_BODY GET_VAR 'value-parameter x: Int' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER FUN DEFAULT_PROPERTY_ACCESSOR public final fun (): kotlin.Int $this: VALUE_PARAMETER this@TestEnum4: TestEnum4 BLOCK_BODY RETURN type=kotlin.Nothing from='(): Int' GET_FIELD 'x: Int' type=kotlin.Int origin=null receiver: GET_VAR 'this@TestEnum4: TestEnum4' type=TestEnum4 origin=null ENUM_ENTRY enum entry TEST1 init: ENUM_CONSTRUCTOR_CALL 'constructor TEST1()' class: CLASS ENUM_ENTRY TEST1 $this: VALUE_PARAMETER this@TEST1: TEST1 CONSTRUCTOR private constructor TEST1() BLOCK_BODY ENUM_CONSTRUCTOR_CALL 'constructor TestEnum4(Int)' x: CONST Int type=kotlin.Int value='1' INSTANCE_INITIALIZER_CALL classDescriptor='TEST1' FUN public open override fun foo(): kotlin.Unit $this: VALUE_PARAMETER this@TEST1: TEST1 BLOCK_BODY CALL 'println(Any?): Unit' type=kotlin.Unit origin=null message: GET_ENUM 'TEST1' type=TestEnum4 FUN FAKE_OVERRIDE protected final override fun clone(): kotlin.Any $this: VALUE_PARAMETER this@Enum: Enum FUN FAKE_OVERRIDE protected/*protected and package*/ final override fun finalize(): kotlin.Unit $this: VALUE_PARAMETER this@Enum: Enum FUN FAKE_OVERRIDE public final override fun getDeclaringClass(): java.lang.Class! $this: VALUE_PARAMETER this@Enum: Enum FUN FAKE_OVERRIDE public final override fun compareTo(other: TestEnum4): kotlin.Int $this: VALUE_PARAMETER this@Enum: Enum VALUE_PARAMETER value-parameter other: TestEnum4 FUN FAKE_OVERRIDE public final override fun equals(other: kotlin.Any?): kotlin.Boolean $this: VALUE_PARAMETER this@Enum: Enum VALUE_PARAMETER value-parameter other: kotlin.Any? FUN FAKE_OVERRIDE public final override fun hashCode(): kotlin.Int $this: VALUE_PARAMETER this@Enum: Enum PROPERTY FAKE_OVERRIDE public final override val name: kotlin.String FUN FAKE_OVERRIDE public final override fun (): kotlin.String $this: VALUE_PARAMETER this@Enum: Enum PROPERTY FAKE_OVERRIDE public final override val ordinal: kotlin.Int FUN FAKE_OVERRIDE public final override fun (): kotlin.Int $this: VALUE_PARAMETER this@Enum: Enum PROPERTY FAKE_OVERRIDE public final override val x: kotlin.Int FUN FAKE_OVERRIDE public final override fun (): kotlin.Int $this: VALUE_PARAMETER this@TestEnum4: TestEnum4 FUN FAKE_OVERRIDE public open override fun toString(): kotlin.String $this: VALUE_PARAMETER this@Enum: Enum ENUM_ENTRY enum entry TEST2 init: ENUM_CONSTRUCTOR_CALL 'constructor TEST2()' class: CLASS ENUM_ENTRY TEST2 $this: VALUE_PARAMETER this@TEST2: TEST2 CONSTRUCTOR private constructor TEST2() BLOCK_BODY ENUM_CONSTRUCTOR_CALL 'constructor TestEnum4(Int)' x: CONST Int type=kotlin.Int value='2' INSTANCE_INITIALIZER_CALL classDescriptor='TEST2' PROPERTY public final val z: kotlin.Int FIELD PROPERTY_BACKING_FIELD public final val z: kotlin.Int FUN DEFAULT_PROPERTY_ACCESSOR public final fun (): kotlin.Int $this: VALUE_PARAMETER this@TEST2: TEST2 BLOCK_BODY RETURN type=kotlin.Nothing from='(): Int' GET_FIELD 'z: Int' type=kotlin.Int origin=null receiver: GET_VAR 'this@TEST2: TEST2' type=TestEnum4.TEST2 origin=null ANONYMOUS_INITIALIZER TEST2 BLOCK_BODY SET_FIELD 'z: Int' type=kotlin.Unit origin=null receiver: GET_VAR 'this@TEST2: TEST2' type=TestEnum4.TEST2 origin=null value: CALL '(): Int' type=kotlin.Int origin=GET_PROPERTY $this: GET_VAR 'this@TEST2: TEST2' type=TestEnum4.TEST2 origin=null FUN public open override fun foo(): kotlin.Unit $this: VALUE_PARAMETER this@TEST2: TEST2 BLOCK_BODY CALL 'println(Any?): Unit' type=kotlin.Unit origin=null message: GET_ENUM 'TEST2' type=TestEnum4 FUN FAKE_OVERRIDE protected final override fun clone(): kotlin.Any $this: VALUE_PARAMETER this@Enum: Enum FUN FAKE_OVERRIDE protected/*protected and package*/ final override fun finalize(): kotlin.Unit $this: VALUE_PARAMETER this@Enum: Enum FUN FAKE_OVERRIDE public final override fun getDeclaringClass(): java.lang.Class! $this: VALUE_PARAMETER this@Enum: Enum FUN FAKE_OVERRIDE public final override fun compareTo(other: TestEnum4): kotlin.Int $this: VALUE_PARAMETER this@Enum: Enum VALUE_PARAMETER value-parameter other: TestEnum4 FUN FAKE_OVERRIDE public final override fun equals(other: kotlin.Any?): kotlin.Boolean $this: VALUE_PARAMETER this@Enum: Enum VALUE_PARAMETER value-parameter other: kotlin.Any? FUN FAKE_OVERRIDE public final override fun hashCode(): kotlin.Int $this: VALUE_PARAMETER this@Enum: Enum PROPERTY FAKE_OVERRIDE public final override val name: kotlin.String FUN FAKE_OVERRIDE public final override fun (): kotlin.String $this: VALUE_PARAMETER this@Enum: Enum PROPERTY FAKE_OVERRIDE public final override val ordinal: kotlin.Int FUN FAKE_OVERRIDE public final override fun (): kotlin.Int $this: VALUE_PARAMETER this@Enum: Enum PROPERTY FAKE_OVERRIDE public final override val x: kotlin.Int FUN FAKE_OVERRIDE public final override fun (): kotlin.Int $this: VALUE_PARAMETER this@TestEnum4: TestEnum4 FUN FAKE_OVERRIDE public open override fun toString(): kotlin.String $this: VALUE_PARAMETER this@Enum: Enum FUN public abstract fun foo(): kotlin.Unit $this: VALUE_PARAMETER this@TestEnum4: TestEnum4 FUN FAKE_OVERRIDE protected final override fun clone(): kotlin.Any $this: VALUE_PARAMETER this@Enum: Enum FUN FAKE_OVERRIDE protected/*protected and package*/ final override fun finalize(): kotlin.Unit $this: VALUE_PARAMETER this@Enum: Enum FUN FAKE_OVERRIDE public final override fun getDeclaringClass(): java.lang.Class! $this: VALUE_PARAMETER this@Enum: Enum FUN FAKE_OVERRIDE public final override fun compareTo(other: TestEnum4): kotlin.Int $this: VALUE_PARAMETER this@Enum: Enum VALUE_PARAMETER value-parameter other: TestEnum4 FUN FAKE_OVERRIDE public final override fun equals(other: kotlin.Any?): kotlin.Boolean $this: VALUE_PARAMETER this@Enum: Enum VALUE_PARAMETER value-parameter other: kotlin.Any? FUN FAKE_OVERRIDE public final override fun hashCode(): kotlin.Int $this: VALUE_PARAMETER this@Enum: Enum PROPERTY FAKE_OVERRIDE public final override val name: kotlin.String FUN FAKE_OVERRIDE public final override fun (): kotlin.String $this: VALUE_PARAMETER this@Enum: Enum PROPERTY FAKE_OVERRIDE public final override val ordinal: kotlin.Int FUN FAKE_OVERRIDE public final override fun (): kotlin.Int $this: VALUE_PARAMETER this@Enum: Enum FUN FAKE_OVERRIDE public open override fun toString(): kotlin.String $this: VALUE_PARAMETER this@Enum: Enum FUN ENUM_CLASS_SPECIAL_MEMBER public final fun values(): kotlin.Array SYNTHETIC_BODY kind=ENUM_VALUES FUN ENUM_CLASS_SPECIAL_MEMBER public final fun valueOf(value: kotlin.String): TestEnum4 VALUE_PARAMETER value-parameter value: kotlin.String SYNTHETIC_BODY kind=ENUM_VALUEOF CLASS ENUM_CLASS TestEnum5 $this: VALUE_PARAMETER this@TestEnum5: TestEnum5 CONSTRUCTOR private constructor TestEnum5(x: kotlin.Int = ...) VALUE_PARAMETER value-parameter x: kotlin.Int = ... EXPRESSION_BODY CONST Int type=kotlin.Int value='0' BLOCK_BODY ENUM_CONSTRUCTOR_CALL 'constructor Enum(String, Int)' >: null INSTANCE_INITIALIZER_CALL classDescriptor='TestEnum5' PROPERTY public final val x: kotlin.Int FIELD PROPERTY_BACKING_FIELD public final val x: kotlin.Int EXPRESSION_BODY GET_VAR 'value-parameter x: Int = ...' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER FUN DEFAULT_PROPERTY_ACCESSOR public final fun (): kotlin.Int $this: VALUE_PARAMETER this@TestEnum5: TestEnum5 BLOCK_BODY RETURN type=kotlin.Nothing from='(): Int' GET_FIELD 'x: Int' type=kotlin.Int origin=null receiver: GET_VAR 'this@TestEnum5: TestEnum5' type=TestEnum5 origin=null ENUM_ENTRY enum entry TEST1 init: ENUM_CONSTRUCTOR_CALL 'constructor TestEnum5(Int = ...)' ENUM_ENTRY enum entry TEST2 init: ENUM_CONSTRUCTOR_CALL 'constructor TestEnum5(Int = ...)' ENUM_ENTRY enum entry TEST3 init: ENUM_CONSTRUCTOR_CALL 'constructor TestEnum5(Int = ...)' x: CONST Int type=kotlin.Int value='0' FUN FAKE_OVERRIDE protected final override fun clone(): kotlin.Any $this: VALUE_PARAMETER this@Enum: Enum FUN FAKE_OVERRIDE protected/*protected and package*/ final override fun finalize(): kotlin.Unit $this: VALUE_PARAMETER this@Enum: Enum FUN FAKE_OVERRIDE public final override fun getDeclaringClass(): java.lang.Class! $this: VALUE_PARAMETER this@Enum: Enum FUN FAKE_OVERRIDE public final override fun compareTo(other: TestEnum5): kotlin.Int $this: VALUE_PARAMETER this@Enum: Enum VALUE_PARAMETER value-parameter other: TestEnum5 FUN FAKE_OVERRIDE public final override fun equals(other: kotlin.Any?): kotlin.Boolean $this: VALUE_PARAMETER this@Enum: Enum VALUE_PARAMETER value-parameter other: kotlin.Any? FUN FAKE_OVERRIDE public final override fun hashCode(): kotlin.Int $this: VALUE_PARAMETER this@Enum: Enum PROPERTY FAKE_OVERRIDE public final override val name: kotlin.String FUN FAKE_OVERRIDE public final override fun (): kotlin.String $this: VALUE_PARAMETER this@Enum: Enum PROPERTY FAKE_OVERRIDE public final override val ordinal: kotlin.Int FUN FAKE_OVERRIDE public final override fun (): kotlin.Int $this: VALUE_PARAMETER this@Enum: Enum FUN FAKE_OVERRIDE public open override fun toString(): kotlin.String $this: VALUE_PARAMETER this@Enum: Enum FUN ENUM_CLASS_SPECIAL_MEMBER public final fun values(): kotlin.Array SYNTHETIC_BODY kind=ENUM_VALUES FUN ENUM_CLASS_SPECIAL_MEMBER public final fun valueOf(value: kotlin.String): TestEnum5 VALUE_PARAMETER value-parameter value: kotlin.String SYNTHETIC_BODY kind=ENUM_VALUEOF