KT-5079 Support smart completion for when values

#KT-5079 Fixed
This commit is contained in:
Valentin Kipyatkov
2014-05-28 21:52:43 +04:00
parent 1bc8812613
commit 4be1cc2786
19 changed files with 302 additions and 15 deletions
@@ -0,0 +1,7 @@
fun foo(s: String) {
when(s) {
<caret>
}
}
// ELEMENT: else
@@ -0,0 +1,7 @@
fun foo(s: String) {
when(s) {
else -> <caret>
}
}
// ELEMENT: else
@@ -0,0 +1,16 @@
enum class E {
A
B
C
}
fun foo(e: E) {
when(e) {
<caret>
}
}
// EXIST: E.A
// EXIST: E.B
// EXIST: E.C
// EXIST: {"lookupString":"else","tailText":" ->","itemText":"else"}
@@ -0,0 +1,16 @@
enum class E {
A
B
C
}
fun foo(e: E) {
when(e) {
E.A, <caret>
}
}
// ABSENT: E.A
// EXIST: E.B
// EXIST: E.C
// ABSENT:else
@@ -0,0 +1,17 @@
enum class E {
A
B
C
}
fun foo(e: E) {
when(e) {
E.A -> x()
<caret>
}
}
// ABSENT: E.A
// EXIST: E.B
// EXIST: E.C
// EXIST: {"lookupString":"else","tailText":" ->","itemText":"else"}
@@ -0,0 +1,17 @@
enum class E {
A
B
C
}
fun foo(e: E) {
when(e) {
<caret>
else -> x()
}
}
// EXIST: E.A
// EXIST: E.B
// EXIST: E.C
// ABSENT: else
@@ -0,0 +1,17 @@
enum class E {
A
B
C
}
fun foo(e: E) {
when(e) {
E.A -> x()
E.<caret>
}
}
// ABSENT: A
// EXIST: B
// EXIST: C
// ABSENT: else
@@ -0,0 +1,18 @@
enum class E {
A
B
C
}
fun foo(e: E?) {
when(e) {
E.A -> x()
<caret>
}
}
// ABSENT: E.A
// EXIST: E.B
// EXIST: E.C
// EXIST: null
// EXIST: {"lookupString":"else","tailText":" ->","itemText":"else"}
@@ -0,0 +1,15 @@
enum class E {
A
B
C
}
fun foo(e: E) {
when(e) {
<caret>
E.B -> x()
}
}
// EXIST: E.A
// ABSENT: else
@@ -0,0 +1,11 @@
import java.lang.annotation.ElementType
fun foo(e: ElementType) {
when(e) {
ElementType.FIELD -> x()
<caret>
}
}
// ABSENT: ElementType.FIELD
// EXIST: ElementType.TYPE
@@ -0,0 +1,11 @@
fun foo(b1: Boolean, b2: Boolean) {
when {
<caret>
}
}
// EXIST: b1
// EXIST: b2
// ABSENT: true
// ABSENT: false
// EXIST: {"lookupString":"else","tailText":" ->","itemText":"else"}
@@ -0,0 +1,8 @@
fun foo(s: String) {
when {
s.<caret>
}
}
// EXIST: equals
// ABSENT: else