KTIJ-650 [Code completion]: "sealed interface" is for 1.5+ only
This commit is contained in:
@@ -122,11 +122,13 @@ object KeywordCompletion {
|
||||
|
||||
fun complete(position: PsiElement, prefixMatcher: PrefixMatcher, isJvmModule: Boolean, consumer: (LookupElement) -> Unit) {
|
||||
if (!GENERAL_FILTER.isAcceptable(position, position)) return
|
||||
val sealedInterfacesEnabled = position.languageVersionSettings.supportsFeature(LanguageFeature.SealedInterfaces)
|
||||
|
||||
val parserFilter = buildFilter(position)
|
||||
for (keywordToken in ALL_KEYWORDS) {
|
||||
val nextKeywords = keywordToken.getNextPossibleKeywords(position) ?: setOf(null)
|
||||
nextKeywords.forEach {
|
||||
if (keywordToken == SEALED_KEYWORD && it == INTERFACE_KEYWORD && !sealedInterfacesEnabled) return@forEach
|
||||
handleCompoundKeyword(position, keywordToken, it, isJvmModule, prefixMatcher, parserFilter, consumer)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:+SealedInterfaces -XXLanguage:+MultiPlatformProjects
|
||||
|
||||
class MouseMovedEventArgs
|
||||
{
|
||||
public val X : Int = 0
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:+SealedInterfaces -XXLanguage:+MultiPlatformProjects
|
||||
|
||||
class A {
|
||||
fun foo() {
|
||||
bar()
|
||||
|
||||
@@ -33,8 +33,6 @@ class B {
|
||||
// EXIST: infix
|
||||
// EXIST: sealed class
|
||||
// EXIST: sealed class AfterClasses_LangLevel10
|
||||
// EXIST: sealed interface AfterClasses_LangLevel10
|
||||
// EXIST: sealed interface
|
||||
// EXIST: data class
|
||||
// EXIST: { "lookupString":"data class", "itemText":"data class", "tailText":" AfterClasses_LangLevel10(...)", "attributes":"bold" }
|
||||
// EXIST: inline
|
||||
|
||||
@@ -33,8 +33,6 @@ class B {
|
||||
// EXIST: infix
|
||||
// EXIST: sealed class
|
||||
// EXIST: sealed class AfterClasses_LangLevel11
|
||||
// EXIST: sealed interface AfterClasses_LangLevel11
|
||||
// EXIST: sealed interface
|
||||
// EXIST: data class
|
||||
// EXIST: { "lookupString":"data class", "itemText":"data class", "tailText":" AfterClasses_LangLevel11(...)", "attributes":"bold" }
|
||||
// EXIST: inline
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:+SealedInterfaces -XXLanguage:+MultiPlatformProjects
|
||||
|
||||
class A {
|
||||
fun foo() {
|
||||
bar()
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:+SealedInterfaces -XXLanguage:+MultiPlatformProjects
|
||||
|
||||
fun foo() {
|
||||
bar()
|
||||
}
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:+SealedInterfaces -XXLanguage:+MultiPlatformProjects
|
||||
|
||||
annotation class Test {
|
||||
<caret>
|
||||
}
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:+SealedInterfaces -XXLanguage:+MultiPlatformProjects
|
||||
|
||||
public class Test {
|
||||
|
||||
<caret>
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:+SealedInterfaces -XXLanguage:+MultiPlatformProjects
|
||||
|
||||
class TestClass {
|
||||
<caret>
|
||||
}
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:+SealedInterfaces -XXLanguage:+MultiPlatformProjects
|
||||
|
||||
enum class Test {
|
||||
;
|
||||
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:+SealedInterfaces -XXLanguage:+MultiPlatformProjects
|
||||
|
||||
interface Test {
|
||||
<caret>
|
||||
}
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:+SealedInterfaces -XXLanguage:+MultiPlatformProjects
|
||||
|
||||
object Test {
|
||||
<caret>
|
||||
}
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:+SealedInterfaces -XXLanguage:+MultiPlatformProjects
|
||||
|
||||
package Test
|
||||
|
||||
<caret>
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:+SealedInterfaces -XXLanguage:+MultiPlatformProjects
|
||||
|
||||
class Some {
|
||||
var a : Int
|
||||
<caret>
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:+SealedInterfaces -XXLanguage:+MultiPlatformProjects
|
||||
|
||||
class Some {
|
||||
var a : Int = 1
|
||||
<caret>
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:+SealedInterfaces -XXLanguage:+MultiPlatformProjects
|
||||
|
||||
class Some {
|
||||
var a : Int
|
||||
get() = 0
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:+SealedInterfaces -XXLanguage:+MultiPlatformProjects
|
||||
|
||||
seal<caret>
|
||||
// EXIST: "sealed class SealedWithName"
|
||||
// EXIST: "sealed interface SealedWithName"
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:+SealedInterfaces -XXLanguage:+MultiPlatformProjects
|
||||
|
||||
class OuterClass {
|
||||
seal<caret>
|
||||
}
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:+SealedInterfaces -XXLanguage:+MultiPlatformProjects
|
||||
|
||||
<caret>
|
||||
|
||||
// EXIST: abstract
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:+SealedInterfaces -XXLanguage:+MultiPlatformProjects
|
||||
|
||||
<caret>
|
||||
|
||||
// EXIST: abstract
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:+SealedInterfaces -XXLanguage:+MultiPlatformProjects
|
||||
|
||||
<caret>
|
||||
|
||||
// EXIST: abstract
|
||||
|
||||
Reference in New Issue
Block a user