Smart completion: imports insertion + fixed both behaviour and presentation of qualified members in lookup

This commit is contained in:
Valentin Kipyatkov
2013-12-25 22:26:48 +04:00
parent f303b6dae5
commit 39f07b8354
25 changed files with 223 additions and 56 deletions
@@ -0,0 +1 @@
val c: java.io.Closeable = <caret>
@@ -0,0 +1,7 @@
import java.io.Closeable
val c: java.io.Closeable = object: Closeable {
override fun close() {
throw UnsupportedOperationException()
}
}
@@ -0,0 +1,8 @@
import java.util.HashMap
import java.util.List
fun foo(p: HashMap<String, List<Int>>){}
fun f(){
foo(<caret>)
}
@@ -0,0 +1,8 @@
import java.util.HashMap
import java.util.List
fun foo(p: HashMap<String, List<Int>>){}
fun f(){
foo(HashMap<String, List<Int>>())
}
@@ -1,5 +1,7 @@
fun foo(p: java.util.BitSet){}
class X<T> {
fun foo(p: java.util.HashMap<java.io.File, T>){}
fun f(){
foo(<caret>)
fun f(){
foo(<caret>)
}
}
@@ -1,7 +1,10 @@
import java.util.BitSet
import java.util.HashMap
import java.io.File
fun foo(p: java.util.BitSet){}
class X<T> {
fun foo(p: java.util.HashMap<java.io.File, T>){}
fun f(){
foo(BitSet(<caret>))
fun f(){
foo(HashMap<File, T>(<caret>))
}
}
@@ -0,0 +1,7 @@
class X<T> {
fun foo(p: java.util.HashMap<T, java.util.AbstractMap<T, java.io.File>>){}
fun f(){
foo(<caret>)
}
}
@@ -0,0 +1,11 @@
import java.util.HashMap
import java.util.AbstractMap
import java.io.File
class X<T> {
fun foo(p: java.util.HashMap<T, java.util.AbstractMap<T, java.io.File>>){}
fun f(){
foo(HashMap<T, AbstractMap<T, File>>(<caret>))
}
}
@@ -0,0 +1,8 @@
enum class Foo {
X
Y
}
fun foo(){
val f : Foo = <caret>
}
@@ -0,0 +1,8 @@
enum class Foo {
X
Y
}
fun foo(){
val f : Foo = Foo.X<caret>
}
@@ -0,0 +1,3 @@
fun foo(){
val e : java.lang.annotation.ElementType = <caret>
}
@@ -0,0 +1,5 @@
import java.lang.annotation.ElementType
fun foo(){
val e : java.lang.annotation.ElementType = ElementType.FIELD<caret>
}
@@ -0,0 +1,5 @@
import java.util.Locale
fun foo(){
var l : Locale = <caret>
}
@@ -0,0 +1,5 @@
import java.util.Locale
fun foo(){
var l : Locale = Locale.ENGLISH<caret>
}
@@ -1,5 +1,5 @@
import java.util.Locale
fun foo(){
var l : java.util.Locale = Locale.ENGLISH
var l : java.util.Locale = Locale.ENGLISH<caret>
}
@@ -0,0 +1,3 @@
fun foo(){
val l : java.util.Calendar = <caret>
}
@@ -0,0 +1,5 @@
import java.util.Calendar
fun foo(){
val l : java.util.Calendar = Calendar.getInstance(<caret>)
}
@@ -1,5 +1,7 @@
fun foo(){
val l : java.lang.Thread = <caret>
val l : java.util.Calendar = <caret>
}
// EXIST: { lookupString:"Thread.currentThread", itemText:"Thread.currentThread()", tailText:" (java.lang)", typeText:"Thread" }
// EXIST: { lookupString:"Calendar.getInstance", itemText:"Calendar.getInstance", tailText:"() (java.util)", typeText:"Calendar" }
// EXIST: { lookupString:"Calendar.getInstance", itemText:"Calendar.getInstance", tailText:"(TimeZone) (java.util)", typeText:"Calendar" }
// EXIST: { lookupString:"Calendar.getInstance", itemText:"Calendar.getInstance", tailText:"(TimeZone, Locale) (java.util)", typeText:"Calendar" }