trait Test { public open fun test() protected open val testProp : Int } class SomeTest : Test { val hello = 12 override fun test() { throw UnsupportedOperationException() } override val testProp: Int get() = throw UnsupportedOperationException() /** * test */ fun some() { } }