native
val baz: Int
native
val boo: Int = noImpl

native
val Int.baz: Int

native
fun foo()
native
fun bar() {}

native
fun String.foo(): Int
native
fun String.bar(): Int = noImpl

native
interface T {
    val baz: Int

    fun foo()
    fun bar() {}

    companion object {
        val baz: Int
        val boo: Int = noImpl

        fun foo()
        fun bar(): String = noImpl
    }
}

native
class C {
    val baz: Int
    val boo: Int = noImpl

    fun foo()
    fun bar() {}

    companion object {
        val baz: Int
        val boo: Int = noImpl

        fun foo()
        fun bar(): String = noImpl
    }
}

native
object O {
    val baz: Int
    val boo: Int = noImpl

    fun foo(s: String): String
    fun bar(s: String): String = noImpl
}

fun test() {
    @native
    class Local {
        val baz: Int
        val boo: Int = noImpl

        fun foo()
        fun bar() {}
    }
}

