Smart completion: support for overloaded method calls
This commit is contained in:
@@ -0,0 +1,9 @@
|
||||
import java.io.File
|
||||
|
||||
fun f(p1: Any, p2: String, p3: File) {
|
||||
File(<caret>)
|
||||
}
|
||||
|
||||
// ABSENT: p1
|
||||
// EXIST: p2
|
||||
// EXIST: p3
|
||||
@@ -0,0 +1,18 @@
|
||||
val s = ""
|
||||
val i = 123
|
||||
|
||||
fun f(p1: Any, p2: String, p3: Int) {
|
||||
foo(<caret>123) // this call is resolved to Foo(Int) but types from all signatures should participate
|
||||
}
|
||||
|
||||
fun foo(p1: String, p2: Any) {
|
||||
}
|
||||
|
||||
fun foo(p1: Int) {
|
||||
}
|
||||
|
||||
// ABSENT: p1
|
||||
// EXIST: p2
|
||||
// EXIST: p3
|
||||
// EXIST: s
|
||||
// EXIST: i
|
||||
@@ -0,0 +1,23 @@
|
||||
val s = ""
|
||||
val i = 123
|
||||
|
||||
fun f(p1: Any, p2: String, p3: Int, p4: Char) {
|
||||
foo(<caret>abc)
|
||||
}
|
||||
|
||||
fun foo(p1: String, p2: Any) {
|
||||
}
|
||||
|
||||
fun foo(p1: Int) {
|
||||
}
|
||||
|
||||
// add this signature so that call above is not resolved
|
||||
fun foo(p1: Char) {
|
||||
}
|
||||
|
||||
// ABSENT: p1
|
||||
// EXIST: p2
|
||||
// EXIST: p3
|
||||
// EXIST: p4
|
||||
// EXIST: s
|
||||
// EXIST: i
|
||||
@@ -0,0 +1,13 @@
|
||||
fun f(p1: Any, p2: String, p3: Int) {
|
||||
foo("abc", <caret>)
|
||||
}
|
||||
|
||||
fun foo(p1: String, p2: String) {
|
||||
}
|
||||
|
||||
fun foo(p1: Int, p2: Int) {
|
||||
}
|
||||
|
||||
// ABSENT: p1
|
||||
// EXIST: p2
|
||||
// ABSENT: p3
|
||||
@@ -0,0 +1,24 @@
|
||||
val s = ""
|
||||
val i = 123
|
||||
|
||||
fun f(p1: Any, p2: String, p3: Int, p4: Char) {
|
||||
C().foo(<caret>abc)
|
||||
}
|
||||
|
||||
class C {
|
||||
fun foo(p1: String, p2: Any) {
|
||||
}
|
||||
|
||||
fun foo(p1: Int) {
|
||||
}
|
||||
|
||||
fun foo(p1: Char) {
|
||||
}
|
||||
}
|
||||
|
||||
// ABSENT: p1
|
||||
// EXIST: p2
|
||||
// EXIST: p3
|
||||
// EXIST: p4
|
||||
// EXIST: s
|
||||
// EXIST: i
|
||||
@@ -0,0 +1,24 @@
|
||||
val s = ""
|
||||
val i = 123
|
||||
|
||||
fun f(c: C?, p1: Any, p2: String, p3: Int, p4: Char) {
|
||||
c?.foo(<caret>abc)
|
||||
}
|
||||
|
||||
class C {
|
||||
fun foo(p1: String, p2: Any) {
|
||||
}
|
||||
|
||||
fun foo(p1: Int) {
|
||||
}
|
||||
|
||||
fun foo(p1: Char) {
|
||||
}
|
||||
}
|
||||
|
||||
// ABSENT: p1
|
||||
// EXIST: p2
|
||||
// EXIST: p3
|
||||
// EXIST: p4
|
||||
// EXIST: s
|
||||
// EXIST: i
|
||||
Reference in New Issue
Block a user