// !DIAGNOSTICS: -UNUSED_VARIABLE // WITH_STDLIB class A { class B { class C { fun foo() {} } inner class InnerC { fun foo() {} } class ParametricC { fun foo() {} } } } fun goodClassifiers() { A.B.C::class A.B.C::foo A.B.InnerC::class A.B.InnerC::foo } fun nullableClassifiers() { A.B.C?::class A.B.C?::foo A.B.InnerC?::class A.B.InnerC?::foo } fun classifiersWithTA() { A.B.C::class A.B.C::foo A.B.InnerC::class // A.B.InnerC::foo // correct A.B.ParametricC::class A.B.ParametricC::foo } val a get() = listOf(10) val List.b get() = first() val List.maybeB get() = firstOrNull() val Int.c get() = A.B.C() val Int.maybeC: A.B.C? get() = A.B.C() fun rain() { a.b.c::class a.b.c::foo a.b.c?::class a.b.c?::foo a.b?.c::class a.b?.c::foo a.maybeB?.c::class a.maybeB?.c::foo a.b<Int>.c::class a.b<Int>.c::foo a.b.maybeC::class a.b.maybeC::foo a.b.maybeC?::class a.b.maybeC?::foo }