Smart completion: auto-cast to non-null type is not recognized for field from constructor

#KT-4906 Fixed
This commit is contained in:
Valentin Kipyatkov
2014-04-29 20:52:33 +04:00
parent 3c75e9ec28
commit 7aa11a4207
10 changed files with 75 additions and 44 deletions
@@ -9,4 +9,4 @@ open class Foo{
class Bar : Foo
// EXIST: this
// EXIST: { itemText:"this" }
@@ -4,4 +4,4 @@ fun f(p: Any) {
}
}
// EXIST: p
// EXIST: { itemText:"p" }
@@ -6,5 +6,5 @@ class Foo(val prop1 : Any, val prop2 : Any){
}
}
// EXIST: prop1
// ABSENT: prop2
// EXIST: { itemText:"prop1" }
// ABSENT: { itemText:"prop2" }
@@ -5,4 +5,4 @@ fun String?.foo(){
}
// EXIST: this
// EXIST: { itemText:"this" }
@@ -4,4 +4,4 @@ fun f(p: String?) {
}
}
// EXIST: p
// EXIST: { itemText:"p" }
@@ -0,0 +1,9 @@
class Foo(val prop : String?){
fun f(foo: Foo) {
if (foo.prop != null){
var a: String = <caret>
}
}
}
// ABSENT: { itemText:"prop" }
@@ -0,0 +1,11 @@
class Foo(val s: String?) {
fun bar(){
if (s != null) {
foo(<caret>)
}
}
}
fun foo(s: String){}
// EXIST: { itemText:"s" }
@@ -6,7 +6,7 @@ class Foo(val prop1 : String?, val prop2 : String?){
}
}
// EXIST: prop1
// ABSENT: { lookupString:"prop2", itemText:"prop2" }
// EXIST: { lookupString:"prop2", itemText:"!! prop2" }
// EXIST: { lookupString:"prop2", itemText:"?: prop2" }
// EXIST: { itemText:"prop1" }
// ABSENT: { itemText:"prop2" }
// EXIST: { itemText:"!! prop2" }
// EXIST: { itemText:"?: prop2" }