Keyword completion: add "class/interface/object + filename" completion for top level (KT-28394)

#KT-28394 Fixed
This commit is contained in:
Toshiaki Kameyama
2018-12-05 11:23:01 +03:00
committed by Nikolay Krasko
parent ed9d53acaa
commit 827e04ae3e
12 changed files with 160 additions and 18 deletions
@@ -10,6 +10,9 @@ class B {
}
}
class AfterClasses {
}
<caret>
// EXIST: abstract
@@ -14,24 +14,31 @@ class B {
// EXIST: abstract
// EXIST: class
// EXIST: class AfterClasses_LangLevel10
// EXIST: enum class
// EXIST: enum class AfterClasses_LangLevel10
// EXIST: final
// EXIST: fun
// EXIST: internal
// EXIST: object
// EXIST: object AfterClasses_LangLevel10
// EXIST: open
// EXIST: private
// EXIST: public
// EXIST: interface
// EXIST: interface AfterClasses_LangLevel10
// EXIST: val
// EXIST: var
// EXIST: operator
// EXIST: infix
// EXIST: sealed class
// EXIST: sealed class AfterClasses_LangLevel10
// EXIST: data class
// EXIST: data class AfterClasses_LangLevel10
// EXIST: inline
// EXIST: tailrec
// EXIST: external
// EXIST: annotation class
// EXIST: annotation class AfterClasses_LangLevel10
// EXIST: const val
// NOTHING_ELSE
@@ -14,25 +14,32 @@ class B {
// EXIST: abstract
// EXIST: class
// EXIST: class AfterClasses_LangLevel11
// EXIST: enum class
// EXIST: enum class AfterClasses_LangLevel11
// EXIST: final
// EXIST: fun
// EXIST: internal
// EXIST: object
// EXIST: object AfterClasses_LangLevel11
// EXIST: open
// EXIST: private
// EXIST: public
// EXIST: interface
// EXIST: interface AfterClasses_LangLevel11
// EXIST: val
// EXIST: var
// EXIST: operator
// EXIST: infix
// EXIST: sealed class
// EXIST: sealed class AfterClasses_LangLevel11
// EXIST: data class
// EXIST: data class AfterClasses_LangLevel11
// EXIST: inline
// EXIST: tailrec
// EXIST: external
// EXIST: annotation class
// EXIST: annotation class AfterClasses_LangLevel11
// EXIST: const val
// EXIST: suspend
// EXIST: typealias
@@ -12,7 +12,9 @@ var a : Int
// EXIST: abstract
// EXIST: by
// EXIST: class
// EXIST: class GlobalPropertyAccessors
// EXIST: enum class
// EXIST: enum class GlobalPropertyAccessors
// EXIST: final
// EXIST: fun
// EXIST: { itemText: "get", tailText: null }
@@ -20,6 +22,7 @@ var a : Int
// EXIST: { itemText: "get", tailText: "() {...}" }
// EXIST: internal
// EXIST: object
// EXIST: object GlobalPropertyAccessors
// EXIST: open
// EXIST: private
// EXIST: public
@@ -27,16 +30,20 @@ var a : Int
// EXIST: { itemText: "set", tailText: "(value) = ..." }
// EXIST: { itemText: "set", tailText: "(value) {...}" }
// EXIST: interface
// EXIST: interface GlobalPropertyAccessors
// EXIST: val
// EXIST: var
// EXIST: operator
// EXIST: infix
// EXIST: sealed class
// EXIST: sealed class GlobalPropertyAccessors
// EXIST: data class
// EXIST: data class GlobalPropertyAccessors
// EXIST: inline
// EXIST: tailrec
// EXIST: external
// EXIST: annotation class
// EXIST: annotation class GlobalPropertyAccessors
// EXIST: const val
// EXIST: suspend
// EXIST: typealias
@@ -4,26 +4,33 @@ package Test
// EXIST: abstract
// EXIST: class
// EXIST: class InTopScopeAfterPackage
// EXIST: enum class
// EXIST: enum class InTopScopeAfterPackage
// EXIST: final
// EXIST: fun
// EXIST: import
// EXIST: internal
// EXIST: object
// EXIST: object InTopScopeAfterPackage
// EXIST: open
// EXIST: private
// EXIST: public
// EXIST: interface
// EXIST: interface InTopScopeAfterPackage
// EXIST: val
// EXIST: var
// EXIST: operator
// EXIST: infix
// EXIST: sealed class
// EXIST: sealed class InTopScopeAfterPackage
// EXIST: data class
// EXIST: data class InTopScopeAfterPackage
// EXIST: inline
// EXIST: tailrec
// EXIST: external
// EXIST: annotation class
// EXIST: annotation class InTopScopeAfterPackage
// EXIST: const val
// EXIST: suspend
// EXIST: typealias
+7
View File
@@ -2,27 +2,34 @@
// EXIST: abstract
// EXIST: class
// EXIST: class TopScope
// EXIST: enum class
// EXIST: enum class TopScope
// EXIST: final
// EXIST: fun
// EXIST: import
// EXIST: internal
// EXIST: object
// EXIST: object TopScope
// EXIST: open
// EXIST: package
// EXIST: private
// EXIST: public
// EXIST: interface
// EXIST: interface TopScope
// EXIST: val
// EXIST: var
// EXIST: operator
// EXIST: infix
// EXIST: sealed class
// EXIST: sealed class TopScope
// EXIST: data class
// EXIST: data class TopScope
// EXIST: inline
// EXIST: tailrec
// EXIST: external
// EXIST: annotation class
// EXIST: annotation class TopScope
// EXIST: const val
// EXIST: suspend
// EXIST: typealias
+32
View File
@@ -0,0 +1,32 @@
<caret>
// EXIST: abstract
// EXIST: class
// EXIST: enum class
// EXIST: final
// EXIST: fun
// EXIST: import
// EXIST: internal
// EXIST: object
// EXIST: open
// EXIST: package
// EXIST: private
// EXIST: public
// EXIST: interface
// EXIST: val
// EXIST: var
// EXIST: operator
// EXIST: infix
// EXIST: sealed class
// EXIST: data class
// EXIST: inline
// EXIST: tailrec
// EXIST: external
// EXIST: annotation class
// EXIST: const val
// EXIST: suspend
// EXIST: typealias
// EXIST: expect
// EXIST: actual
// EXIST: lateinit var
// NOTHING_ELSE
+32
View File
@@ -0,0 +1,32 @@
<caret>
// EXIST: abstract
// EXIST: class
// EXIST: enum class
// EXIST: final
// EXIST: fun
// EXIST: import
// EXIST: internal
// EXIST: object
// EXIST: open
// EXIST: package
// EXIST: private
// EXIST: public
// EXIST: interface
// EXIST: val
// EXIST: var
// EXIST: operator
// EXIST: infix
// EXIST: sealed class
// EXIST: data class
// EXIST: inline
// EXIST: tailrec
// EXIST: external
// EXIST: annotation class
// EXIST: const val
// EXIST: suspend
// EXIST: typealias
// EXIST: expect
// EXIST: actual
// EXIST: lateinit var
// NOTHING_ELSE
@@ -0,0 +1,4 @@
cla<caret>
// ORDER: class
// ORDER: class TopLevelKeyword