Graying members from smart cast receiver types that require explicit receiver cast
+ changed immediate member criteria (override member is not counted as immediate anymore) + fixed a bug in graying members
This commit is contained in:
@@ -13,4 +13,4 @@ fun foo(o: Any?) {
|
||||
// EXIST: { lookupString: "forNullableAny", attributes: "" }
|
||||
// EXIST: { lookupString: "forString", attributes: "bold" }
|
||||
// EXIST: { lookupString: "forAny", attributes: "" }
|
||||
// EXIST: { lookupString: "compareTo", attributes: "bold" }
|
||||
// EXIST: { lookupString: "compareTo", attributes: "" }
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
fun String.forString(){}
|
||||
|
||||
fun globalFun(){}
|
||||
|
||||
fun String?.foo() {
|
||||
<caret>
|
||||
}
|
||||
|
||||
// EXIST: { lookupString: "globalFun", attributes: "" }
|
||||
// EXIST: { lookupString: "compareTo", attributes: "grayed" }
|
||||
// EXIST: { lookupString: "forString", attributes: "grayed" }
|
||||
@@ -0,0 +1,15 @@
|
||||
fun String.forString(){}
|
||||
fun Any.forAny(){}
|
||||
|
||||
fun <T> T.forT() {}
|
||||
|
||||
fun f(pair: Pair<out Any, out Any>) {
|
||||
if (pair.first !is String) return
|
||||
pair.first.<caret>
|
||||
}
|
||||
|
||||
// EXIST: { lookupString: "length", attributes: "grayed" }
|
||||
// EXIST: { lookupString: "hashCode", attributes: "bold" }
|
||||
// EXIST: { lookupString: "forString", attributes: "grayed" }
|
||||
// EXIST: { lookupString: "forAny", attributes: "bold" }
|
||||
// EXIST: { lookupString: "forT", attributes: "bold" }
|
||||
@@ -11,4 +11,4 @@ fun foo(s: String?) {
|
||||
// EXIST: { lookupString: "forNullableAny", attributes: "" }
|
||||
// EXIST: { lookupString: "forString", attributes: "bold" }
|
||||
// EXIST: { lookupString: "forAny", attributes: "" }
|
||||
// EXIST: { lookupString: "compareTo", attributes: "bold" }
|
||||
// EXIST: { lookupString: "compareTo", attributes: "" }
|
||||
|
||||
+1
-1
@@ -16,7 +16,7 @@ fun foo(d: Derived) {
|
||||
d.<caret>
|
||||
}
|
||||
|
||||
// EXIST: { itemText: "fromTrait", attributes: "bold" }
|
||||
// EXIST: { itemText: "fromTrait", attributes: "" }
|
||||
// EXIST: { itemText: "fromDerived", attributes: "bold" }
|
||||
// EXIST: { itemText: "fromBase", attributes: "" }
|
||||
// EXIST: { itemText: "hashCode", attributes: "" }
|
||||
|
||||
+1
-1
@@ -18,7 +18,7 @@ fun foo(o: Any) {
|
||||
}
|
||||
}
|
||||
|
||||
// EXIST: { itemText: "fromTrait", attributes: "bold" }
|
||||
// EXIST: { itemText: "fromTrait", attributes: "" }
|
||||
// EXIST: { itemText: "fromDerived", attributes: "bold" }
|
||||
// EXIST: { itemText: "fromBase", attributes: "" }
|
||||
// EXIST: { itemText: "hashCode", attributes: "" }
|
||||
|
||||
+1
-1
@@ -11,6 +11,6 @@ fun foo(b: B) {
|
||||
b.<caret>
|
||||
}
|
||||
|
||||
// EXIST: { itemText: "foo1", attributes: "bold" }
|
||||
// EXIST: { itemText: "foo1", attributes: "" }
|
||||
// EXIST: { itemText: "foo2", attributes: "" }
|
||||
// EXIST: { itemText: "equals", attributes: "" }
|
||||
|
||||
+1
-1
@@ -19,7 +19,7 @@ class Derived : Base() {
|
||||
}
|
||||
|
||||
// EXIST: { itemText: "foo", attributes: "bold" }
|
||||
// EXIST: { itemText: "fromTrait", attributes: "bold" }
|
||||
// EXIST: { itemText: "fromTrait", attributes: "" }
|
||||
// EXIST: { itemText: "fromDerived", attributes: "bold" }
|
||||
// EXIST: { itemText: "fromBase", attributes: "" }
|
||||
// EXIST: { itemText: "hashCode", attributes: "" }
|
||||
|
||||
+1
-1
@@ -11,4 +11,4 @@ class C {
|
||||
// EXIST: { itemText: "extFunForString", attributes: "bold" }
|
||||
// EXIST: { itemText: "extFunForAny", attributes: "" }
|
||||
// EXIST: { itemText: "extFunForStringNullable", attributes: "bold" }
|
||||
// EXIST: { itemText: "charAt", attributes: "bold" }
|
||||
// EXIST: { itemText: "charAt", attributes: "" }
|
||||
|
||||
Reference in New Issue
Block a user