Completion: immediate members get higher priority in the list

This commit is contained in:
Valentin Kipyatkov
2014-12-01 22:35:19 +03:00
parent 72ff719001
commit cf35fc1fd5
7 changed files with 150 additions and 36 deletions
@@ -0,0 +1,11 @@
fun String?.forNullableString(){}
fun Any?.forNullableAny(){}
fun String.forString(){}
fun foo(s: String?) {
s.for<caret>
}
// ORDER: forNullableString
// ORDER: forNullableAny
// ORDER: forString
@@ -0,0 +1,38 @@
fun aaGlobalFun(){}
val aaGlobalProp = 1
open class Base {
fun aaBaseFun(){}
val aaBaseProp = 1
}
class Derived : Base() {
fun aaDerivedFun(){}
val aaDerivedProp = 1
fun foo() {
val aaLocalVal = 1
fun aaLocalFun(){}
aa<caret>
}
}
fun Any.aAnyExtensionFun(){}
fun Derived.aaExtensionFun(){}
val Any.aAnyExtensionProp: Int get() = 1
val Derived.aaExtensionProp: Int get() = 1
// ORDER: aaLocalVal
// ORDER: aaLocalFun
// ORDER: aaDerivedProp
// ORDER: aaDerivedFun
// ORDER: aaBaseProp
// ORDER: aaBaseFun
// ORDER: aaExtensionProp
// ORDER: aaExtensionFun
// ORDER: aAnyExtensionProp
// ORDER: aAnyExtensionFun
// ORDER: aaGlobalProp
// ORDER: aaGlobalFun
@@ -15,5 +15,5 @@ class Test(val br2 = 12) {
// "br" function is before other elements because of exact prefix match
// ORDER: br, br4, br5, br1, br2, br3, break, brf
// ORDER: br, br4, br5, br2, br3, brf, br1, break
// SELECTED: 0