Very initial implementation of smart completion
This commit is contained in:
@@ -0,0 +1,7 @@
|
||||
fun f(p: Object) {
|
||||
if (p is String){
|
||||
var a : String = <caret>
|
||||
}
|
||||
}
|
||||
|
||||
// EXIST: p
|
||||
@@ -0,0 +1,20 @@
|
||||
trait Foo{
|
||||
public fun foo() : Foo
|
||||
public fun s() : String
|
||||
public val prop : String
|
||||
}
|
||||
|
||||
val foo = Foo()
|
||||
|
||||
fun f(p1: Foo, p2: String) {
|
||||
var a : String
|
||||
a = p1.foo().<caret>
|
||||
}
|
||||
|
||||
// ABSENT: foo
|
||||
// EXIST: s
|
||||
// EXIST: prop
|
||||
// ABSENT: foo
|
||||
// ABSENT: p1
|
||||
// ABSENT: p2
|
||||
// ABSENT: a
|
||||
@@ -0,0 +1,26 @@
|
||||
class Foo
|
||||
class Bar : Foo
|
||||
|
||||
val foo = Foo()
|
||||
val bar = Bar()
|
||||
val o : Object = Object()
|
||||
|
||||
fun f(p1 : Foo, p2 : Bar, p3 : String, p4 : Foo?) {
|
||||
var a : Foo
|
||||
a = <caret>
|
||||
}
|
||||
|
||||
fun f1() : Foo{}
|
||||
fun f2() : Bar{}
|
||||
fun f3() : String{}
|
||||
|
||||
// EXIST: foo
|
||||
// EXIST: bar
|
||||
// ABSENT: o
|
||||
// EXIST: p1
|
||||
// EXIST: p2
|
||||
// ABSENT: p3
|
||||
// ABSENT: p4
|
||||
// EXIST: f1
|
||||
// EXIST: f2
|
||||
// ABSENT: f3
|
||||
@@ -0,0 +1,19 @@
|
||||
class Foo
|
||||
class Bar : Foo
|
||||
|
||||
val xfoo = Foo()
|
||||
val xbar = Bar()
|
||||
val xo : Object = Object()
|
||||
|
||||
fun f(xp1 : Foo, xp2 : Bar, xp3 : String, p4 : Foo) {
|
||||
var a : Foo
|
||||
a = x<caret>y
|
||||
}
|
||||
|
||||
// EXIST: xfoo
|
||||
// EXIST: xbar
|
||||
// ABSENT: xo
|
||||
// EXIST: xp1
|
||||
// EXIST: xp2
|
||||
// ABSENT: xp3
|
||||
// ABSENT: p4
|
||||
@@ -0,0 +1,13 @@
|
||||
val s = ""
|
||||
|
||||
fun f(p1: Object, p2: String) {
|
||||
foo(<caret>)
|
||||
}
|
||||
|
||||
fun foo(p1: String, p2: Object) : String{
|
||||
}
|
||||
|
||||
// ABSENT: p1
|
||||
// EXIST: p2
|
||||
// EXIST: s
|
||||
// EXIST: foo
|
||||
@@ -0,0 +1,7 @@
|
||||
fun f(p : String) {
|
||||
var a : String
|
||||
a = <caret>
|
||||
}
|
||||
|
||||
// EXIST: p
|
||||
// ABSENT: a
|
||||
@@ -0,0 +1,7 @@
|
||||
class Foo(val prop : String)
|
||||
|
||||
fun f(foo1 : Foo, foo2 : Foo) {
|
||||
foo1.prop = foo2.<caret>
|
||||
}
|
||||
|
||||
// EXIST: prop
|
||||
@@ -0,0 +1,10 @@
|
||||
val foo = ""
|
||||
|
||||
fun f(p1: Object, p2: String) {
|
||||
var a : String = <caret>
|
||||
}
|
||||
|
||||
// ABSENT: p1
|
||||
// EXIST: p2
|
||||
// EXIST: foo
|
||||
// ABSENT: a
|
||||
@@ -0,0 +1,19 @@
|
||||
class Foo
|
||||
class Bar : Foo
|
||||
|
||||
val xfoo = Foo()
|
||||
val xbar = Bar()
|
||||
val xo : Object = Object()
|
||||
|
||||
fun f(xp1 : Foo, xp2 : Bar, xp3 : String, p4 : Foo) {
|
||||
var a : Foo
|
||||
a = x<caret>
|
||||
}
|
||||
|
||||
// EXIST: xfoo
|
||||
// EXIST: xbar
|
||||
// ABSENT: xo
|
||||
// EXIST: xp1
|
||||
// EXIST: xp2
|
||||
// ABSENT: xp3
|
||||
// ABSENT: p4
|
||||
@@ -0,0 +1,23 @@
|
||||
trait Foo{
|
||||
fun foo1() : String
|
||||
fun foo2() : Object
|
||||
val prop : String
|
||||
}
|
||||
|
||||
val foo = Foo()
|
||||
|
||||
fun f(p1: Foo, p2: String) {
|
||||
var a : String
|
||||
a = p1.<caret>
|
||||
}
|
||||
|
||||
fun Foo.ext() : String{}
|
||||
|
||||
// EXIST: foo1
|
||||
// ABSENT: foo2
|
||||
// EXIST: prop
|
||||
// EXIST: ext
|
||||
// ABSENT: foo
|
||||
// ABSENT: p1
|
||||
// ABSENT: p2
|
||||
// ABSENT: a
|
||||
Reference in New Issue
Block a user