// !DIAGNOSTICS: -UNUSED_PARAMETER, -DEPRECATION external class A { class B { class A { @nativeGetter fun get(a: String): Any? = noImpl @nativeGetter fun take(a: Number): String? = noImpl @nativeGetter fun foo(a: Double): String? = noImpl companion object { @nativeGetter fun get(a: String): Any? = noImpl @nativeGetter fun take(a: Number): String? = noImpl @nativeGetter fun foo(a: Double): String? = noImpl } } class B { @nativeGetter val foo: Int = noImpl @nativeGetter object Obj1 {} companion object { @nativeGetter val foo: Int = noImpl @nativeGetter object Obj2 {} } } class C { @nativeGetter fun get(): Any? = noImpl @nativeGetter fun get(a: A): Any? = noImpl @nativeGetter fun foo(a: Int) { noImpl } @nativeGetter fun bar(a: String): Int = noImpl @nativeGetter fun baz(a: Number = noImpl): Int? = noImpl } object obj { @nativeGetter fun get(): Any? = noImpl @nativeGetter fun get(a: A): Any? = noImpl @nativeGetter fun foo(a: Int) { noImpl } @nativeGetter fun bar(a: String): Int = noImpl @nativeGetter fun baz(a: String = noImpl): Int? = noImpl } } }