FILE: enums2.kt
    public? final? interface Some : kotlin/Any {
    }
    public? final? object O1 : Some {
        private constructor(): super<kotlin/Any>()

    }
    public? final? object O2 : Some {
        private constructor(): super<kotlin/Any>()

    }
    public? final? enum class SomeEnum : kotlin/Enum {
        public? constructor(x: Some): super<kotlin/Enum>()

        public? final? val x: Some = R|<local>/x|
            public? get(): Some

        public? final enum entry FIRST : SomeEnum {
            public? constructor(): super<SomeEnum>(O1#)

            public? open? override fun check(y: Some): Boolean {
                ^check Boolean(true)
            }

        }

        public? final enum entry SECOND : SomeEnum {
            public? constructor(): super<SomeEnum>(O2#)

            public? open? override fun check(y: Some): Boolean {
                ^check ==(y#, O2#)
            }

        }

        public? abstract fun check(y: Some): Boolean

    }
