Smart completion: auto-casted types supported
This commit is contained in:
@@ -0,0 +1,12 @@
|
||||
open class Foo{
|
||||
fun f() {
|
||||
if (this is Bar){
|
||||
var a : Bar = <caret>
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class Bar : Foo
|
||||
|
||||
|
||||
// EXIST: this
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
fun f(p: Object) {
|
||||
fun f(p: Any) {
|
||||
if (p is String){
|
||||
var a : String = <caret>
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
class Foo(val prop1 : Any, val prop2 : Any){
|
||||
fun f(p1: Foo, p2: Foo) {
|
||||
if (p1.prop1 is String && p2.prop2 is String && prop2 is String){
|
||||
var a : String = p1.<caret>
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// EXIST: prop1
|
||||
// ABSENT: prop2
|
||||
@@ -0,0 +1,8 @@
|
||||
fun String?.foo(){
|
||||
if (this != null){
|
||||
val s : String = <caret>
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// EXIST: this
|
||||
@@ -0,0 +1,7 @@
|
||||
fun f(p: String?) {
|
||||
if (p != null){
|
||||
var a : String = <caret>
|
||||
}
|
||||
}
|
||||
|
||||
// EXIST: p
|
||||
@@ -0,0 +1,10 @@
|
||||
class Foo(val prop1 : String?, val prop2 : String?){
|
||||
fun f(p1: Foo, p2: Foo) {
|
||||
if (p1.prop1 != null && p2.prop2 != null && prop2 != null){
|
||||
var a : String = p1.<caret>
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// EXIST: prop1
|
||||
// ABSENT: prop2
|
||||
@@ -0,0 +1,11 @@
|
||||
fun fail() : Nothing{
|
||||
throw RuntimeException()
|
||||
}
|
||||
|
||||
fun f(p : String) {
|
||||
var a : String = <caret>
|
||||
}
|
||||
|
||||
// EXIST: p
|
||||
// ABSENT: fail
|
||||
// ABSENT: error
|
||||
@@ -0,0 +1,5 @@
|
||||
fun String.foo(){
|
||||
val s : String = <caret>
|
||||
}
|
||||
|
||||
// EXIST: this
|
||||
Reference in New Issue
Block a user