Correct completion of nested/inner classes after dot

#KT-1889 Fixed
This commit is contained in:
Valentin Kipyatkov
2014-12-05 08:44:29 +03:00
parent 8f32a6c1f9
commit 6ec10b9b6b
9 changed files with 64 additions and 5 deletions
@@ -1,6 +1,7 @@
class C {
class Nested
inner class Inner
inner class Inner1
inner class Inner2(s: String)
}
fun foo(c: C) {
@@ -8,4 +9,5 @@ fun foo(c: C) {
}
// ABSENT: Nested
// ABSENT: Inner
// EXIST: { lookupString: "Inner1", itemText: "Inner1", tailText: "()", typeText: "C.Inner1" }
// EXIST: { lookupString: "Inner2", itemText: "Inner2", tailText: "(s: String)", typeText: "C.Inner2" }
@@ -0,0 +1,7 @@
class C {
inner class Inner(s: String)
}
fun foo(c: C) {
c.<caret>
}
@@ -0,0 +1,7 @@
class C {
inner class Inner(s: String)
}
fun foo(c: C) {
c.Inner(<caret>)
}
@@ -0,0 +1,18 @@
trait T
class C {
inner class Inner1(s: String) : T
inner class Inner2 : T
inner class Inner3
class Nested: T
}
fun foo(c: C): T {
return c.<caret>
}
// EXIST: { lookupString: "Inner1", itemText: "Inner1", tailText: "(s: String)", typeText: "C.Inner1" }
// EXIST: { lookupString: "Inner2", itemText: "Inner2", tailText: "()", typeText: "C.Inner2" }
// ABSENT: Inner3
// ABSENT: Nested
// NUMBER: 2