Keyword completion: complete data class with parentheses

#KT-30511 Fixed
This commit is contained in:
Toshiaki Kameyama
2019-03-26 10:27:29 +03:00
committed by Nikolay Krasko
parent f1a31652b3
commit 17a4506575
6 changed files with 11 additions and 8 deletions
@@ -129,12 +129,15 @@ object KeywordCompletion {
if (constructText != null && !applicableAsCompound) {
val element = createKeywordConstructLookupElement(position.project, keyword, constructText)
consumer(element)
}
else {
} else {
if (listOf(CLASS_KEYWORD, OBJECT_KEYWORD, INTERFACE_KEYWORD).any { keyword.endsWith(it.value) }) {
val topLevelClassName = getTopLevelClassName(position)
if (topLevelClassName != null) {
consumer(createLookupElementBuilder("$keyword $topLevelClassName", position))
if (keyword.startsWith(DATA_KEYWORD.value)) {
consumer(createKeywordConstructLookupElement(position.project, keyword, "$keyword $topLevelClassName(caret)"))
} else {
consumer(createLookupElementBuilder("$keyword $topLevelClassName", position))
}
}
}
consumer(createLookupElementBuilder(keyword, position))
@@ -34,7 +34,7 @@ class B {
// EXIST: sealed class
// EXIST: sealed class AfterClasses_LangLevel10
// EXIST: data class
// EXIST: data class AfterClasses_LangLevel10
// EXIST: { "lookupString":"data class", "itemText":"data class", "tailText":" AfterClasses_LangLevel10(...)", "attributes":"bold" }
// EXIST: inline
// EXIST: tailrec
// EXIST: external
@@ -34,7 +34,7 @@ class B {
// EXIST: sealed class
// EXIST: sealed class AfterClasses_LangLevel11
// EXIST: data class
// EXIST: data class AfterClasses_LangLevel11
// EXIST: { "lookupString":"data class", "itemText":"data class", "tailText":" AfterClasses_LangLevel11(...)", "attributes":"bold" }
// EXIST: inline
// EXIST: tailrec
// EXIST: external
@@ -38,7 +38,7 @@ var a : Int
// EXIST: sealed class
// EXIST: sealed class GlobalPropertyAccessors
// EXIST: data class
// EXIST: data class GlobalPropertyAccessors
// EXIST: { "lookupString":"data class", "itemText":"data class", "tailText":" GlobalPropertyAccessors(...)", "attributes":"bold" }
// EXIST: inline
// EXIST: tailrec
// EXIST: external
@@ -25,7 +25,7 @@ package Test
// EXIST: sealed class
// EXIST: sealed class InTopScopeAfterPackage
// EXIST: data class
// EXIST: data class InTopScopeAfterPackage
// EXIST: { "lookupString":"data class", "itemText":"data class", "tailText":" InTopScopeAfterPackage(...)", "attributes":"bold" }
// EXIST: inline
// EXIST: tailrec
// EXIST: external
+1 -1
View File
@@ -24,7 +24,7 @@
// EXIST: sealed class
// EXIST: sealed class TopScope
// EXIST: data class
// EXIST: data class TopScope
// EXIST: { "lookupString":"data class", "itemText":"data class", "tailText":" TopScope(...)", "attributes":"bold" }
// EXIST: inline
// EXIST: tailrec
// EXIST: external