Code completion: do not list instance members from context with no instance
#KT-6388 Fixed #KT-4422 Fixed #KT-5516 Fixed
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
class C {
|
||||
val field = 0
|
||||
class NestedClass
|
||||
inner class InnerClass
|
||||
object AnObject
|
||||
|
||||
class object {
|
||||
val classObjectField = 0
|
||||
class ClassObjectClass
|
||||
|
||||
fun foo(){
|
||||
<caret>
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun C.extensionForC(){}
|
||||
|
||||
// ABSENT: field
|
||||
// EXIST: NestedClass
|
||||
// EXIST: InnerClass
|
||||
// EXIST: AnObject
|
||||
// EXIST: classObjectField
|
||||
// EXIST: ClassObjectClass
|
||||
// ABSENT: extensionForC
|
||||
@@ -0,0 +1,18 @@
|
||||
class C {
|
||||
val field = 0
|
||||
class NestedClass
|
||||
inner class InnerClass
|
||||
|
||||
inner class N {
|
||||
fun foo(){
|
||||
<caret>
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun C.extensionForC(){}
|
||||
|
||||
// EXIST: field
|
||||
// EXIST: NestedClass
|
||||
// EXIST: InnerClass
|
||||
// EXIST: extensionForC
|
||||
@@ -0,0 +1,23 @@
|
||||
class C {
|
||||
val field = 0
|
||||
class NestedClass
|
||||
inner class InnerClass
|
||||
|
||||
class N {
|
||||
fun foo(){
|
||||
<caret>
|
||||
}
|
||||
}
|
||||
|
||||
class object {
|
||||
fun fromClassObject(){}
|
||||
}
|
||||
}
|
||||
|
||||
fun C.extensionForC(){}
|
||||
|
||||
// ABSENT: field
|
||||
// EXIST: NestedClass
|
||||
// EXIST: InnerClass
|
||||
// EXIST: fromClassObject
|
||||
// ABSENT: extensionForC
|
||||
@@ -0,0 +1,11 @@
|
||||
object O {
|
||||
fun foo() {}
|
||||
|
||||
class Nested {
|
||||
fun bar() {
|
||||
<caret>
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// EXIST: foo
|
||||
@@ -1,7 +1,7 @@
|
||||
package a.b
|
||||
|
||||
class Some {
|
||||
class Nested {
|
||||
inner class Inner {
|
||||
fun foo() {
|
||||
"".<caret>
|
||||
}
|
||||
@@ -17,5 +17,5 @@ val String.extProp: Int get() = 1
|
||||
|
||||
// EXIST: { lookupString: "extFun", itemText: "extFun", tailText: "() for String in a.b", typeText: "Unit" }
|
||||
// EXIST: { lookupString: "extProp", itemText: "extProp", tailText: " for String in a.b", typeText: "Int" }
|
||||
// EXIST: { lookupString: "memberExtFun", itemText: "memberExtFun", tailText: "() for String in Some.Nested", typeText: "Unit" }
|
||||
// EXIST: { lookupString: "memberExtFun", itemText: "memberExtFun", tailText: "() for String in Some.Inner", typeText: "Unit" }
|
||||
// EXIST: { lookupString: "memberExtProp", itemText: "memberExtProp", tailText: " for String in Some", typeText: "Int" }
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
class X {
|
||||
fun String.f() {}
|
||||
}
|
||||
|
||||
fun fn() {
|
||||
with (X()) {
|
||||
"sss".<caret>
|
||||
}
|
||||
}
|
||||
|
||||
// EXIST: f
|
||||
@@ -0,0 +1,11 @@
|
||||
class C {
|
||||
fun String.memberExtForString(){}
|
||||
|
||||
class object {
|
||||
fun foo() {
|
||||
"".<caret>
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// ABSENT: memberExtForString
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
package second
|
||||
|
||||
import first.OuterClass
|
||||
|
||||
fun OuterClass.outerExtension() {
|
||||
}
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
package first
|
||||
|
||||
class OuterClass {
|
||||
class Nested {
|
||||
fun foo() {
|
||||
out<caret>
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// INVOCATION_COUNT: 2
|
||||
// ABSENT: outerExtension
|
||||
Reference in New Issue
Block a user