Smart completion: special items with "!!" and "?:" for nullable members
This commit is contained in:
@@ -0,0 +1,7 @@
|
||||
fun foo(s: String, c: Char){ }
|
||||
|
||||
fun bar(sss: String?) {
|
||||
foo(<caret>)
|
||||
}
|
||||
|
||||
// ELEMENT_TEXT: "!! sss"
|
||||
@@ -0,0 +1,7 @@
|
||||
fun foo(s: String, c: Char){ }
|
||||
|
||||
fun bar(sss: String?) {
|
||||
foo(sss!!, <caret>)
|
||||
}
|
||||
|
||||
// ELEMENT_TEXT: "!! sss"
|
||||
@@ -0,0 +1,9 @@
|
||||
fun foo(s: String){ }
|
||||
|
||||
fun getString(i: Int): String?{}
|
||||
|
||||
fun bar() {
|
||||
foo(<caret>)
|
||||
}
|
||||
|
||||
// ELEMENT_TEXT: "?: getString(i: Int)"
|
||||
@@ -0,0 +1,9 @@
|
||||
fun foo(s: String){ }
|
||||
|
||||
fun getString(i: Int): String?{}
|
||||
|
||||
fun bar() {
|
||||
foo(getString(<caret>) ?: )
|
||||
}
|
||||
|
||||
// ELEMENT_TEXT: "?: getString(i: Int)"
|
||||
@@ -0,0 +1,11 @@
|
||||
class K {
|
||||
class object {
|
||||
fun bar(): K? = K()
|
||||
}
|
||||
}
|
||||
|
||||
fun foo(){
|
||||
val k : K = <caret>
|
||||
}
|
||||
|
||||
// ELEMENT_TEXT: "!! K.bar()"
|
||||
@@ -0,0 +1,11 @@
|
||||
class K {
|
||||
class object {
|
||||
fun bar(): K? = K()
|
||||
}
|
||||
}
|
||||
|
||||
fun foo(){
|
||||
val k : K = K.bar()!!<caret>
|
||||
}
|
||||
|
||||
// ELEMENT_TEXT: "!! K.bar()"
|
||||
@@ -7,4 +7,6 @@ class Foo(val prop1 : String?, val prop2 : String?){
|
||||
}
|
||||
|
||||
// EXIST: prop1
|
||||
// ABSENT: prop2
|
||||
// ABSENT: { lookupString:"prop2", itemText:"prop2" }
|
||||
// EXIST: { lookupString:"prop2", itemText:"!! prop2" }
|
||||
// EXIST: { lookupString:"prop2", itemText:"?: prop2" }
|
||||
|
||||
@@ -17,5 +17,7 @@ fun foo(){
|
||||
// EXIST: { lookupString:"K.foo", itemText:"K.foo", tailText:" (sample)", typeText:"K" }
|
||||
// EXIST: { lookupString:"K.bar", itemText:"K.bar()", tailText:" (sample)", typeText:"K" }
|
||||
// ABSENT: K.x
|
||||
// ABSENT: K.kk
|
||||
// ABSENT: { itemText:"K.kk" }
|
||||
// EXIST: { lookupString:"K.kk", itemText:"!! K.kk", tailText:" (sample)", typeText:"K?" }
|
||||
// EXIST: { lookupString:"K.kk", itemText:"?: K.kk", tailText:" (sample)", typeText:"K?" }
|
||||
// ABSENT: K.privateVal
|
||||
|
||||
@@ -20,7 +20,9 @@ fun f3() : String{}
|
||||
// EXIST: p1
|
||||
// EXIST: p2
|
||||
// ABSENT: p3
|
||||
// ABSENT: p4
|
||||
// ABSENT: { lookupString:"p4", itemText:"p4" }
|
||||
// EXIST: { lookupString:"p4", itemText:"!! p4" }
|
||||
// EXIST: { lookupString:"p4", itemText:"?: p4" }
|
||||
// EXIST: f1
|
||||
// EXIST: f2
|
||||
// ABSENT: f3
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
fun String?.foo(){
|
||||
val s : String = <caret>
|
||||
}
|
||||
|
||||
// EXIST: { lookupString:"this", itemText: "!! this", typeText:"String?" }
|
||||
// EXIST: { lookupString:"this", itemText: "?: this", typeText:"String?" }
|
||||
Reference in New Issue
Block a user