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

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

    }
    public final? enum class SomeEnum : R|kotlin/Enum<SomeEnum>| {
        private [ContainingClassKey=SomeEnum] constructor([CorrespondingProperty=/SomeEnum.x] x: Some): R|SomeEnum| {
            super<R|kotlin/Enum<SomeEnum>|>()
        }

        public? final? [IsFromPrimaryConstructor=true] val x: Some = R|<local>/x|
            public? [ContainingClassKey=SomeEnum] get(): Some

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

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

        }

        public final static [ContainingClassKey=SomeEnum] enum entry SECOND: R|SomeEnum| = object : R|SomeEnum| {
            private [ContainingClassKey=<anonymous>] 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 [ContainingClassKey=SomeEnum] fun values(): R|kotlin/Array<SomeEnum>| {
        }

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

        public final static [ContainingClassKey=SomeEnum] val entries: R|kotlin/enums/EnumEntries<SomeEnum>|
            public get(): R|kotlin/enums/EnumEntries<SomeEnum>|

    }
