interface X interface Y : X interface Z interface I abstract class C1 : I abstract class C2 : I abstract class C3 : I fun foo(i: I){} fun bar() { foo() } // EXIST: { itemText: "object : I<...>{...}" } // EXIST: { itemText: "object : C1(){...}" } // EXIST: { itemText: "object : C2(){...}" } // all these items shouldn't be proposed, see KT-15479 // EXIST: { itemText: "enumValueOf" } // EXIST: { itemText: "maxOf", tailText: "(a: T, b: T) (kotlin.comparisons)" } // EXIST: { itemText: "maxOf", tailText: "(a: T, vararg other: T) (kotlin.comparisons)" } // EXIST: { itemText: "maxOf", tailText: "(a: T, b: T, c: T) (kotlin.comparisons)" } // EXIST: { itemText: "minOf", tailText: "(a: T, b: T) (kotlin.comparisons)" } // EXIST: { itemText: "minOf", tailText: "(a: T, vararg other: T) (kotlin.comparisons)" } // EXIST: { itemText: "minOf", tailText: "(a: T, b: T, c: T) (kotlin.comparisons)" } // NOTHING_ELSE