Initial support for KT-7090 Completion for callable references
#KT-7090 Fixed
This commit is contained in:
+48
@@ -0,0 +1,48 @@
|
||||
fun globalFun(p: Int) {}
|
||||
|
||||
fun String.extensionFun(){}
|
||||
val String.extensionVal: Int
|
||||
get() = 1
|
||||
|
||||
val globalVal = 1
|
||||
var globalVar = 1
|
||||
|
||||
class C {
|
||||
fun memberFun(){}
|
||||
|
||||
val memberVal = 1
|
||||
|
||||
class NestedClass
|
||||
inner class InnerClass
|
||||
|
||||
fun foo() {
|
||||
fun localFun(){}
|
||||
|
||||
val local = 1
|
||||
|
||||
val v = ::<caret>
|
||||
}
|
||||
|
||||
companion object {
|
||||
fun companionObjectFun(){}
|
||||
}
|
||||
}
|
||||
|
||||
class WithPrivateConstructor private constructor()
|
||||
abstract class AbstractClass
|
||||
|
||||
// EXIST: { itemText: "globalFun", attributes: "" }
|
||||
// EXIST: { itemText: "globalVal", attributes: "" }
|
||||
// EXIST: { itemText: "globalVar", attributes: "" }
|
||||
// ABSENT: extensionFun
|
||||
// ABSENT: extensionVal
|
||||
// EXIST: { itemText: "memberFun", attributes: "bold" }
|
||||
// EXIST: { itemText: "memberVal", attributes: "bold" }
|
||||
// EXIST: { itemText: "localFun", attributes: "" }
|
||||
// ABSENT: { itemText: "local", attributes: "" }
|
||||
// EXIST: { itemText: "companionObjectFun", attributes: "bold" }
|
||||
// EXIST: { itemText: "C", attributes: "" }
|
||||
// EXIST: { itemText: "NestedClass", attributes: "" }
|
||||
// EXIST: { itemText: "InnerClass", attributes: "bold" }
|
||||
// ABSENT: WithPrivateConstructor
|
||||
// ABSENT: AbstractClass
|
||||
Vendored
+23
@@ -0,0 +1,23 @@
|
||||
class C {
|
||||
fun memberFun(){}
|
||||
|
||||
val memberVal = 1
|
||||
|
||||
class NestedClass
|
||||
inner class InnerClass
|
||||
|
||||
companion object {
|
||||
fun companionObjectFun(){}
|
||||
}
|
||||
}
|
||||
|
||||
fun C.foo() {
|
||||
val v = ::<caret>
|
||||
}
|
||||
|
||||
// EXIST: { itemText: "memberFun", attributes: "bold" }
|
||||
// EXIST: { itemText: "memberVal", attributes: "bold" }
|
||||
// EXIST: { itemText: "hashCode", attributes: "" }
|
||||
// ABSENT: companionObjectFun
|
||||
// ABSENT: NestedClass
|
||||
// EXIST: { itemText: "InnerClass", attributes: "bold" }
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
fun xfoo(p: (String, Char) -> Unit){}
|
||||
|
||||
fun test() {
|
||||
::xfo<caret>
|
||||
}
|
||||
|
||||
// EXIST: { lookupString:"xfoo", itemText: "xfoo", tailText: "(p: (String, Char) -> Unit) (<root>)", typeText:"Unit" }
|
||||
// NOTHING_ELSE
|
||||
+57
@@ -0,0 +1,57 @@
|
||||
abstract class A {
|
||||
abstract fun memberFunInA()
|
||||
abstract val memberValInA: Int
|
||||
|
||||
inner class InnerInA
|
||||
class NestedInA
|
||||
}
|
||||
|
||||
fun A.extensionFun(){}
|
||||
|
||||
val A.extensionVal: Int
|
||||
get() = 1
|
||||
|
||||
fun Any.anyExtensionFun(){}
|
||||
fun String.wrongExtensionFun(){}
|
||||
|
||||
fun globalFun(p: Int) {}
|
||||
val globalVal = 1
|
||||
|
||||
class C {
|
||||
fun memberFun(){}
|
||||
|
||||
val memberVal = 1
|
||||
|
||||
fun A.memberExtensionFun(){}
|
||||
|
||||
fun foo() {
|
||||
fun localFun(){}
|
||||
|
||||
val v = A::<caret>
|
||||
}
|
||||
|
||||
companion object {
|
||||
fun companionObjectFun(){}
|
||||
|
||||
fun A.companionExtension(){}
|
||||
}
|
||||
}
|
||||
|
||||
/* TODO // EXIST: class */
|
||||
/* TODO // EXIST: class.java */
|
||||
// EXIST: { itemText: "memberFunInA", attributes: "bold" }
|
||||
// EXIST: { itemText: "memberValInA", attributes: "bold" }
|
||||
// EXIST: { itemText: "InnerInA", attributes: "bold" }
|
||||
// EXIST: { itemText: "NestedInA", attributes: "" }
|
||||
// EXIST: { itemText: "extensionFun", attributes: "bold" }
|
||||
// EXIST: { itemText: "extensionVal", attributes: "bold" }
|
||||
// EXIST: { itemText: "anyExtensionFun", attributes: "" }
|
||||
// ABSENT: wrongExtensionFun
|
||||
// ABSENT: globalFun
|
||||
// ABSENT: globalVal
|
||||
// ABSENT: memberFun
|
||||
// ABSENT: memberVal
|
||||
// ABSENT: memberExtensionFun
|
||||
// ABSENT: localFun
|
||||
// ABSENT: companionObjectFun
|
||||
// ABSENT: companionExtension
|
||||
+31
@@ -0,0 +1,31 @@
|
||||
interface I1 {
|
||||
fun i1Member()
|
||||
}
|
||||
|
||||
interface I2 {
|
||||
fun i2Member()
|
||||
}
|
||||
|
||||
fun I1.i1Extension(){}
|
||||
fun I2.i2Extension(){}
|
||||
fun Any.anyExtension(){}
|
||||
fun String.stringExtension(){}
|
||||
|
||||
open class C {
|
||||
fun cMember(){}
|
||||
|
||||
fun foo() {
|
||||
if (this is I1 && this is I2) {
|
||||
val v = ::<caret>
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// EXIST: { itemText: "i1Extension", attributes: "bold" }
|
||||
// EXIST: { itemText: "i2Extension", attributes: "bold" }
|
||||
// EXIST: { itemText: "i1Member", attributes: "bold" }
|
||||
// EXIST: { itemText: "i2Member", attributes: "bold" }
|
||||
// EXIST: { itemText: "anyExtension", attributes: "" }
|
||||
// EXIST: { itemText: "hashCode", attributes: "" }
|
||||
// ABSENT: stringExtension
|
||||
// EXIST: { itemText: "cMember", attributes: "bold" }
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
import java.io.File
|
||||
|
||||
val v = File::<caret>
|
||||
|
||||
// EXIST_JAVA_ONLY: { itemText: "freeSpace", tailText: " (from getFreeSpace())", attributes: "bold" }
|
||||
// EXIST_JAVA_ONLY: { itemText: "isFile", tailText: " (from isFile())", attributes: "bold" }
|
||||
// ABSENT: { itemText: "isFile", tailText: "()" }
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
import java.io.File
|
||||
|
||||
class MyFile : File("") {
|
||||
val v = ::<caret>
|
||||
}
|
||||
|
||||
// EXIST_JAVA_ONLY: { itemText: "freeSpace", tailText: " (from getFreeSpace())", attributes: "" }
|
||||
// EXIST_JAVA_ONLY: { itemText: "isFile", tailText: " (from isFile())", attributes: "" }
|
||||
// ABSENT: { itemText: "isFile", tailText: "()" }
|
||||
Reference in New Issue
Block a user