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

    }
    public? final? object O2 : Some {
        private constructor(): R|O2| {
            super<<implicit>>()
        }

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

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

        public final static enum entry FIRST: R|SomeEnum| = object : R|SomeEnum| {
            private constructor(): R|<anonymous>| {
                super<R|SomeEnum|>(O1#)
            }

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

        }

        public final static enum entry SECOND: R|SomeEnum| = object : R|SomeEnum| {
            private constructor(): R|<anonymous>| {
                super<R|SomeEnum|>(O2#)
            }

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

        }

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

        public final static fun values(): R|kotlin/Array<SomeEnum>| {
        }

        public final static fun valueOf(value: R|kotlin/String|): R|SomeEnum| {
        }

    }
