[kotlin] rename KotlinPluginKind -> KotlinPluginMode according to KTIJ-28325

^KTIJ-28325
^KTIJ-25476

GitOrigin-RevId: 03094c1ea060f1204652b59f9df3e49dc4b6df8b
This commit is contained in:
Ilya Kirillov
2024-01-03 13:37:46 +01:00
committed by intellij-monorepo-bot
parent 47fcc2c08e
commit ac28ad9ac9
29 changed files with 164 additions and 164 deletions

View File

@@ -1,7 +1,7 @@
<idea-plugin package="org.jetbrains.kotlin.idea.base.fe10.plugin">
<extensions defaultExtensionNs="com.intellij">
<applicationService
serviceInterface="org.jetbrains.kotlin.idea.base.plugin.KotlinPluginKindProvider"
serviceImplementation="org.jetbrains.kotlin.idea.base.fe10.plugin.K1KotlinPluginKindProvider"/>
serviceInterface="org.jetbrains.kotlin.idea.base.plugin.KotlinPluginModeProvider"
serviceImplementation="org.jetbrains.kotlin.idea.base.fe10.plugin.K1KotlinPluginModeProvider"/>
</extensions>
</idea-plugin>

View File

@@ -1,10 +0,0 @@
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package org.jetbrains.kotlin.idea.base.fe10.plugin
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginKind
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginKindProvider
class K1KotlinPluginKindProvider : KotlinPluginKindProvider {
override val pluginKind: KotlinPluginKind
get() = KotlinPluginKind.K1
}

View File

@@ -0,0 +1,10 @@
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package org.jetbrains.kotlin.idea.base.fe10.plugin
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginMode
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginModeProvider
class K1KotlinPluginModeProvider : KotlinPluginModeProvider {
override val pluginMode: KotlinPluginMode
get() = KotlinPluginMode.K1
}

View File

@@ -3,8 +3,8 @@
package org.jetbrains.kotlin.idea.stubindex
import org.jetbrains.kotlin.analysis.decompiler.psi.KotlinBuiltInStubVersionOffsetProvider
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginKind
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginKindProvider
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginMode
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginModeProvider
/**
* Applies no changes to the K1 IDE stub version and adds a big constant offset to the K2 IDE stub version for .kotlin_builtins files.
@@ -13,9 +13,9 @@ import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginKindProvider
*/
internal class IdeKotlinBuiltInStubVersionOffsetProvider : KotlinBuiltInStubVersionOffsetProvider {
override fun getVersionOffset(): Int {
return when (KotlinPluginKindProvider.currentPluginKind) {
KotlinPluginKind.K1 -> 0
KotlinPluginKind.K2 -> K2_BUILTINS_STUB_VERSION_OFFSET
return when (KotlinPluginModeProvider.currentPluginMode) {
KotlinPluginMode.K1 -> 0
KotlinPluginMode.K2 -> K2_BUILTINS_STUB_VERSION_OFFSET
}
}
}

View File

@@ -6,12 +6,12 @@ import com.intellij.openapi.util.NlsContexts.DetailedDescription
internal class KotlinPluginKindAboutPopupDescriptionProvider : AboutPopupDescriptionProvider {
override fun getDescription(): @DetailedDescription String? {
val pluginKind = KotlinPluginKindProvider.currentPluginKind
val pluginKind = KotlinPluginModeProvider.currentPluginMode
return when (pluginKind) {
KotlinPluginKind.K2 -> {
KotlinBasePluginBundle.message("kotlin.plugin.kind.text", pluginKind.getPluginKindDescription())
KotlinPluginMode.K2 -> {
KotlinBasePluginBundle.message("kotlin.plugin.kind.text", pluginKind.getPluginModeDescription())
}
KotlinPluginKind.K1 -> {
KotlinPluginMode.K1 -> {
null
}
}

View File

@@ -1,61 +0,0 @@
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package org.jetbrains.kotlin.idea.base.plugin
import com.intellij.openapi.application.ApplicationManager
import org.jetbrains.annotations.Nls
interface KotlinPluginKindProvider {
val pluginKind: KotlinPluginKind
companion object {
val currentPluginKind: KotlinPluginKind
get() = ApplicationManager.getApplication().getService(KotlinPluginKindProvider::class.java).pluginKind
}
}
enum class KotlinPluginKind {
K1 {
override fun other(): KotlinPluginKind = K2
},
K2 {
override fun other(): KotlinPluginKind = K1
};
abstract fun other(): KotlinPluginKind
}
fun KotlinPluginKind.getPluginKindDescription(): @Nls String {
return when (this) {
KotlinPluginKind.K1 -> KotlinBasePluginBundle.message("kotlin.plugin.kind.k1")
KotlinPluginKind.K2 -> KotlinBasePluginBundle.message("kotlin.plugin.kind.k2")
}
}
fun isK2Plugin(): Boolean {
return KotlinPluginKindProvider.currentPluginKind == KotlinPluginKind.K2
}
/**
* A switch to mitigate exceptions from Android plugin
* because it tries to use K1 frontend in K2 plugin.
*
* This is a separate method from [isK2Plugin] to better track and update its usages.
*/
fun suppressAndroidPlugin(): Boolean = isK2Plugin()
fun isFe10Plugin(): Boolean {
return KotlinPluginKindProvider.currentPluginKind == KotlinPluginKind.K1
}
fun checkKotlinPluginKind(expectedPluginKind: KotlinPluginKind) {
val pluginKind = KotlinPluginKindProvider.currentPluginKind
check(pluginKind == expectedPluginKind) {
"Invalid Kotlin plugin detected: $pluginKind, but $expectedPluginKind was expected"
}
}
fun checkKotlinPluginKind(isK2Plugin: Boolean) {
val pluginKind = if (isK2Plugin) KotlinPluginKind.K2 else KotlinPluginKind.K1
checkKotlinPluginKind(pluginKind)
}

View File

@@ -10,14 +10,14 @@ object KotlinPluginKindSwitcher {
}
@JvmStatic
fun getPluginKindByVmOptions(): KotlinPluginKind {
fun getPluginKindByVmOptions(): KotlinPluginMode {
val isK2Enabled = VMOptions.readOption(USE_K2_VM_OPTION_PREFIX, /*effective=*/ false).toBoolean()
return if (isK2Enabled) KotlinPluginKind.K2 else KotlinPluginKind.K1
return if (isK2Enabled) KotlinPluginMode.K2 else KotlinPluginMode.K1
}
@JvmStatic
fun setPluginKindByVmOptions(newPluginKind: KotlinPluginKind) {
val isK2Enabled = newPluginKind == KotlinPluginKind.K2
fun setPluginKindByVmOptions(newPluginKind: KotlinPluginMode) {
val isK2Enabled = newPluginKind == KotlinPluginMode.K2
VMOptions.setOption(USE_K2_VM_OPTION_PREFIX, isK2Enabled.toString())
}

View File

@@ -0,0 +1,61 @@
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package org.jetbrains.kotlin.idea.base.plugin
import com.intellij.openapi.application.ApplicationManager
import org.jetbrains.annotations.Nls
interface KotlinPluginModeProvider {
val pluginMode: KotlinPluginMode
companion object {
val currentPluginMode: KotlinPluginMode
get() = ApplicationManager.getApplication().getService(KotlinPluginModeProvider::class.java).pluginMode
}
}
enum class KotlinPluginMode {
K1 {
override fun other(): KotlinPluginMode = K2
},
K2 {
override fun other(): KotlinPluginMode = K1
};
abstract fun other(): KotlinPluginMode
}
fun KotlinPluginMode.getPluginModeDescription(): @Nls String {
return when (this) {
KotlinPluginMode.K1 -> KotlinBasePluginBundle.message("kotlin.plugin.kind.k1")
KotlinPluginMode.K2 -> KotlinBasePluginBundle.message("kotlin.plugin.kind.k2")
}
}
fun isK2Plugin(): Boolean {
return KotlinPluginModeProvider.currentPluginMode == KotlinPluginMode.K2
}
/**
* A switch to mitigate exceptions from Android plugin
* because it tries to use K1 frontend in K2 plugin.
*
* This is a separate method from [isK2Plugin] to better track and update its usages.
*/
fun suppressAndroidPlugin(): Boolean = isK2Plugin()
fun isFe10Plugin(): Boolean {
return KotlinPluginModeProvider.currentPluginMode == KotlinPluginMode.K1
}
fun checkKotlinPluginMode(expectedPluginKind: KotlinPluginMode) {
val pluginKind = KotlinPluginModeProvider.currentPluginMode
check(pluginKind == expectedPluginKind) {
"Invalid Kotlin plugin detected: $pluginKind, but $expectedPluginKind was expected"
}
}
fun checkKotlinPluginMode(isK2Plugin: Boolean) {
val pluginKind = if (isK2Plugin) KotlinPluginMode.K2 else KotlinPluginMode.K1
checkKotlinPluginMode(pluginKind)
}

View File

@@ -7,8 +7,8 @@ import com.intellij.psi.PsiFile
import com.intellij.testFramework.fixtures.JavaCodeInsightTestFixture
import com.intellij.testFramework.fixtures.LightJavaCodeInsightFixtureTestCase
import junit.framework.TestCase
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginKind
import org.jetbrains.kotlin.idea.base.plugin.checkKotlinPluginKind
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginMode
import org.jetbrains.kotlin.idea.base.plugin.checkKotlinPluginMode
import org.jetbrains.kotlin.test.TestMetadata
import org.jetbrains.kotlin.test.directives.LanguageSettingsDirectives
import org.jetbrains.kotlin.test.directives.model.DirectivesContainer
@@ -22,7 +22,7 @@ import java.nio.file.Paths
import kotlin.io.path.*
abstract class NewLightKotlinCodeInsightFixtureTestCase : LightJavaCodeInsightFixtureTestCase() {
protected abstract val pluginKind: KotlinPluginKind
protected abstract val pluginKind: KotlinPluginMode
private val testRoot: String by lazy {
val testClassPath = javaClass.getAnnotation(TestMetadata::class.java)?.value
@@ -67,10 +67,10 @@ abstract class NewLightKotlinCodeInsightFixtureTestCase : LightJavaCodeInsightFi
}
override fun setUp() {
val isK2Plugin = pluginKind == KotlinPluginKind.K2
val isK2Plugin = pluginKind == KotlinPluginMode.K2
System.setProperty("idea.kotlin.plugin.use.k2", isK2Plugin.toString())
super.setUp()
checkKotlinPluginKind(pluginKind)
checkKotlinPluginMode(pluginKind)
}
override fun tearDown() {

View File

@@ -4,7 +4,7 @@ package org.jetbrains.kotlin.idea.k2.inspections.tests
import com.intellij.lang.annotation.HighlightSeverity
import com.intellij.testFramework.UsefulTestCase
import org.jetbrains.kotlin.idea.KotlinFileType
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginKind
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginMode
import org.jetbrains.kotlin.idea.base.test.KotlinJvmLightProjectDescriptor
import org.jetbrains.kotlin.idea.base.test.KotlinRoot
import org.jetbrains.kotlin.idea.base.test.NewLightKotlinCodeInsightFixtureTestCase
@@ -13,8 +13,8 @@ import org.junit.runner.RunWith
@RunWith(JUnit38ClassRunner::class)
class HighlightingAfterTypingTest : NewLightKotlinCodeInsightFixtureTestCase() {
override val pluginKind: KotlinPluginKind
get() = KotlinPluginKind.K2
override val pluginKind: KotlinPluginMode
get() = KotlinPluginMode.K2
override fun getProjectDescriptor() = KotlinJvmLightProjectDescriptor.DEFAULT
override fun getTestDataPath() = KotlinRoot.PATH.toString()

View File

@@ -3,7 +3,7 @@ package org.jetbrains.kotlin.idea.k2
import junit.framework.TestCase
import org.jetbrains.kotlin.idea.base.codeInsight.KotlinNameSuggester
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginKind
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginMode
import org.jetbrains.kotlin.idea.base.test.KotlinRoot
import org.jetbrains.kotlin.idea.base.test.NewLightKotlinCodeInsightFixtureTestCase
import org.jetbrains.kotlin.name.ClassId
@@ -11,8 +11,8 @@ import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.name.SpecialNames
class KotlinClassNameSuggesterTest : NewLightKotlinCodeInsightFixtureTestCase() {
override val pluginKind: KotlinPluginKind
get() = KotlinPluginKind.K2
override val pluginKind: KotlinPluginMode
get() = KotlinPluginMode.K2
fun testTopLevelClass() = test("x/y/Foo", "foo")
fun testJavaLangString() = test("java/lang/String", "string")

View File

@@ -5,7 +5,7 @@ import com.intellij.psi.util.findParentOfType
import junit.framework.TestCase
import org.jetbrains.kotlin.analysis.api.analyze
import org.jetbrains.kotlin.idea.base.codeInsight.KotlinNameSuggester
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginKind
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginMode
import org.jetbrains.kotlin.idea.base.test.KotlinJvmLightProjectDescriptor
import org.jetbrains.kotlin.idea.base.test.KotlinRoot
import org.jetbrains.kotlin.idea.base.test.NewLightKotlinCodeInsightFixtureTestCase
@@ -13,8 +13,8 @@ import org.jetbrains.kotlin.idea.base.test.executeOnPooledThreadInReadAction
import org.jetbrains.kotlin.psi.KtCallExpression
class KotlinExpressionNameSuggesterTest : NewLightKotlinCodeInsightFixtureTestCase() {
override val pluginKind: KotlinPluginKind
get() = KotlinPluginKind.K2
override val pluginKind: KotlinPluginMode
get() = KotlinPluginMode.K2
fun testNumericLiteral() = test("5", "i", "n", "message")
fun testStringLiteral() = test("\"foo\"", "string", "str", "s", "text", "message")

View File

@@ -4,7 +4,7 @@ package org.jetbrains.kotlin.idea.k2
import junit.framework.TestCase
import org.jetbrains.kotlin.idea.base.codeInsight.KotlinNameSuggester
import org.jetbrains.kotlin.idea.base.codeInsight.KotlinNameSuggester.Case
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginKind
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginMode
import org.jetbrains.kotlin.idea.base.test.KotlinRoot
import org.jetbrains.kotlin.idea.base.test.NewLightKotlinCodeInsightFixtureTestCase
import org.jetbrains.kotlin.name.ClassId
@@ -13,8 +13,8 @@ import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.name.SpecialNames
class KotlinNameSuggesterModeTest : NewLightKotlinCodeInsightFixtureTestCase() {
override val pluginKind: KotlinPluginKind
get() = KotlinPluginKind.K2
override val pluginKind: KotlinPluginMode
get() = KotlinPluginMode.K2
fun testCamel() = test("Foo.Bar.Baz", Case.CAMEL, "baz", "barBaz", "fooBarBaz")
fun testPascal() = test("Foo.Bar.Baz", Case.PASCAL, "Baz", "BarBaz", "FooBarBaz")

View File

@@ -5,7 +5,7 @@ import com.intellij.psi.util.findParentOfType
import org.jetbrains.kotlin.analysis.api.analyze
import org.jetbrains.kotlin.idea.base.codeInsight.KotlinNameSuggester
import org.jetbrains.kotlin.idea.base.codeInsight.KotlinNameSuggester.Case
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginKind
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginMode
import org.jetbrains.kotlin.idea.base.test.KotlinJvmLightProjectDescriptor
import org.jetbrains.kotlin.idea.base.test.KotlinRoot
import org.jetbrains.kotlin.idea.base.test.NewLightKotlinCodeInsightFixtureTestCase
@@ -13,8 +13,8 @@ import org.jetbrains.kotlin.idea.base.test.executeOnPooledThreadInReadAction
import org.jetbrains.kotlin.psi.KtFunction
class KotlinTypeAliasNameSuggesterTest : NewLightKotlinCodeInsightFixtureTestCase() {
override val pluginKind: KotlinPluginKind
get() = KotlinPluginKind.K2
override val pluginKind: KotlinPluginMode
get() = KotlinPluginMode.K2
fun testSimple() = test("String", "StringAlias")
fun testNullable() = test("String?", "NullableString")

View File

@@ -3,7 +3,7 @@ package org.jetbrains.kotlin.idea.k2.structureView
import com.intellij.psi.PsiNamedElement
import com.intellij.testFramework.LightProjectDescriptor
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginKind
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginMode
import org.jetbrains.kotlin.idea.base.psi.callableIdIfNotLocal
import org.jetbrains.kotlin.idea.base.psi.classIdIfNonLocal
import org.jetbrains.kotlin.idea.base.test.NewLightKotlinCodeInsightFixtureTestCase
@@ -15,8 +15,8 @@ import org.jetbrains.kotlin.psi.KtClassOrObject
import org.jetbrains.kotlin.psi.KtFile
abstract class AbstractKotlinGoToSuperDeclarationsHandlerTest : NewLightKotlinCodeInsightFixtureTestCase() {
override val pluginKind: KotlinPluginKind
get() = KotlinPluginKind.K2
override val pluginKind: KotlinPluginMode
get() = KotlinPluginMode.K2
override fun getProjectDescriptor(): LightProjectDescriptor {
return KotlinWithJdkAndRuntimeLightProjectDescriptor.getInstance()

View File

@@ -4,7 +4,7 @@ package org.jetbrains.kotlin.idea.liveTemplates
import com.intellij.codeInsight.template.impl.TemplateContextTypes
import com.intellij.testFramework.UsefulTestCase
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginKind
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginMode
import org.jetbrains.kotlin.idea.base.test.NewLightKotlinCodeInsightFixtureTestCase
import org.jetbrains.kotlin.idea.base.test.TestRoot
import org.jetbrains.kotlin.idea.liveTemplates.KotlinTemplateContextType.*
@@ -16,8 +16,8 @@ import org.junit.runner.RunWith
@TestMetadata("testData/context")
@RunWith(JUnit38ClassRunner::class)
class LiveTemplatesContextTest : NewLightKotlinCodeInsightFixtureTestCase() {
override val pluginKind: KotlinPluginKind
get() = KotlinPluginKind.K1
override val pluginKind: KotlinPluginMode
get() = KotlinPluginMode.K1
@TestMetadata("InDocComment.kt")
fun testInDocComment() {

View File

@@ -13,7 +13,7 @@ import com.intellij.util.ArrayUtil
import com.intellij.util.ui.UIUtil
import junit.framework.TestCase
import org.jetbrains.annotations.NonNls
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginKind
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginMode
import org.jetbrains.kotlin.idea.base.test.KotlinJvmLightProjectDescriptor
import org.jetbrains.kotlin.idea.base.test.NewLightKotlinCodeInsightFixtureTestCase
import org.jetbrains.kotlin.idea.base.test.TestRoot
@@ -26,8 +26,8 @@ import java.util.*
@TestMetadata("testData/simple")
@RunWith(JUnit38ClassRunner::class)
class LiveTemplatesTest : NewLightKotlinCodeInsightFixtureTestCase() {
override val pluginKind: KotlinPluginKind
get() = KotlinPluginKind.K1
override val pluginKind: KotlinPluginMode
get() = KotlinPluginMode.K1
override fun setUp() {
super.setUp()

View File

@@ -1,10 +1,10 @@
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package org.jetbrains.kotlin.idea.k2.codeInsight.postfix.test
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginKind
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginMode
import org.jetbrains.kotlin.idea.codeInsight.postfix.AbstractKotlinPostfixTemplateTestBase
abstract class AbstractK2PostfixTemplateTest : AbstractKotlinPostfixTemplateTestBase() {
override val pluginKind: KotlinPluginKind
get() = KotlinPluginKind.K2
override val pluginKind: KotlinPluginMode
get() = KotlinPluginMode.K2
}

View File

@@ -1,10 +0,0 @@
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package org.jetbrains.kotlin.idea.fir.plugin
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginKind
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginKindProvider
class K2KotlinPluginKindProvider : KotlinPluginKindProvider {
override val pluginKind: KotlinPluginKind
get() = KotlinPluginKind.K2
}

View File

@@ -0,0 +1,10 @@
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package org.jetbrains.kotlin.idea.fir.plugin
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginMode
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginModeProvider
class K2KotlinPluginModeProvider : KotlinPluginModeProvider {
override val pluginMode: KotlinPluginMode
get() = KotlinPluginMode.K2
}

View File

@@ -3,13 +3,13 @@ package org.jetbrains.kotlin.idea.fir.editor
import com.intellij.testFramework.common.runAll
import com.intellij.testFramework.runInEdtAndWait
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginKind
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginMode
import org.jetbrains.kotlin.idea.editor.KotlinAutoPopupTest
import org.jetbrains.kotlin.idea.fir.invalidateCaches
// TODO: rewrite this test to make it generated
internal class K2AutoPopupTest : KotlinAutoPopupTest() {
override val pluginKind: KotlinPluginKind = KotlinPluginKind.K2
override val pluginKind: KotlinPluginMode = KotlinPluginMode.K2
override fun tearDown() {
runAll(

View File

@@ -11,7 +11,7 @@ import com.intellij.testFramework.fixtures.TempDirTestFixture
import com.intellij.testFramework.fixtures.impl.TempDirTestFixtureImpl
import com.intellij.testFramework.utils.editor.getVirtualFile
import com.intellij.util.ThrowableRunnable
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginKind
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginMode
import org.jetbrains.kotlin.idea.base.test.KotlinJvmLightProjectDescriptor
import org.jetbrains.kotlin.idea.base.test.NewLightKotlinCodeInsightFixtureTestCase
import org.jetbrains.kotlin.idea.base.util.KOTLIN_FILE_EXTENSIONS
@@ -21,8 +21,8 @@ import java.nio.file.Paths
import kotlin.io.path.*
abstract class AbstractOutsiderHighlightingTest : NewLightKotlinCodeInsightFixtureTestCase() {
override val pluginKind: KotlinPluginKind
get() = KotlinPluginKind.K2
override val pluginKind: KotlinPluginMode
get() = KotlinPluginMode.K2
override fun getProjectDescriptor() = KotlinJvmLightProjectDescriptor.DEFAULT

View File

@@ -6,7 +6,7 @@ import com.intellij.psi.PsiDocumentManager
import com.intellij.testFramework.ExpectedHighlightingData
import com.intellij.testFramework.fixtures.impl.CodeInsightTestFixtureImpl
import org.jetbrains.kotlin.idea.KotlinFileType
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginKind
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginMode
import org.jetbrains.kotlin.idea.base.test.KotlinJvmLightProjectDescriptor
import org.jetbrains.kotlin.idea.base.test.KotlinRoot
import org.jetbrains.kotlin.idea.base.test.NewLightKotlinCodeInsightFixtureTestCase
@@ -15,8 +15,8 @@ import org.junit.runner.RunWith
@RunWith(JUnit38ClassRunner::class)
class OrphanOutsiderHighlightingTest : NewLightKotlinCodeInsightFixtureTestCase() {
override val pluginKind: KotlinPluginKind
get() = KotlinPluginKind.K2
override val pluginKind: KotlinPluginMode
get() = KotlinPluginMode.K2
fun testDiff() {
// Orphan outsider files are analyzed as out-of-content-root

View File

@@ -1,9 +1,9 @@
// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package org.jetbrains.kotlin.idea.codeInsight.postfix
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginKind
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginMode
abstract class AbstractK1PostfixTemplateTest : AbstractKotlinPostfixTemplateTestBase() {
override val pluginKind: KotlinPluginKind
get() = KotlinPluginKind.K1
override val pluginKind: KotlinPluginMode
get() = KotlinPluginMode.K1
}

View File

@@ -3,7 +3,7 @@ package org.jetbrains.kotlin.idea.codeInsight.postfix
import com.intellij.codeInsight.template.impl.TemplateManagerImpl
import com.intellij.testFramework.LightProjectDescriptor
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginKind
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginMode
import org.jetbrains.kotlin.idea.base.test.KotlinJvmLightProjectDescriptor
import org.jetbrains.kotlin.idea.base.test.KotlinTestHelpers
import org.jetbrains.kotlin.idea.base.test.NewLightKotlinCodeInsightFixtureTestCase
@@ -28,8 +28,8 @@ abstract class AbstractKotlinPostfixTemplateTestBase : NewLightKotlinCodeInsight
protected fun performTest() {
val disableDirective = when (pluginKind) {
KotlinPluginKind.K1 -> IgnoreTests.DIRECTIVES.IGNORE_K1
KotlinPluginKind.K2 -> IgnoreTests.DIRECTIVES.IGNORE_K2
KotlinPluginMode.K1 -> IgnoreTests.DIRECTIVES.IGNORE_K1
KotlinPluginMode.K2 -> IgnoreTests.DIRECTIVES.IGNORE_K2
}
IgnoreTests.runTestIfNotDisabledByFileDirective(testRootPath.resolve(testMethodPath), disableDirective, "after") {
myFixture.configureByDefaultFile()

View File

@@ -3,19 +3,19 @@ package org.jetbrains.kotlin.idea.editor
import com.intellij.testFramework.fixtures.CompletionAutoPopupTestCase
import org.jetbrains.kotlin.idea.KotlinFileType
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginKind
import org.jetbrains.kotlin.idea.base.plugin.checkKotlinPluginKind
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginMode
import org.jetbrains.kotlin.idea.base.plugin.checkKotlinPluginMode
import org.junit.internal.runners.JUnit38ClassRunner
import org.junit.runner.RunWith
import kotlin.test.assertContains
@RunWith(JUnit38ClassRunner::class)
open class KotlinAutoPopupTest : CompletionAutoPopupTestCase() {
open val pluginKind: KotlinPluginKind = KotlinPluginKind.K1
open val pluginKind: KotlinPluginMode = KotlinPluginMode.K1
override fun setUp() {
super.setUp()
checkKotlinPluginKind(pluginKind)
checkKotlinPluginMode(pluginKind)
}
fun testAfterLT() {

View File

@@ -65,8 +65,8 @@
serviceInterface="org.jetbrains.kotlin.analysis.project.structure.KtCompilerPluginsProvider"/>
<compilableFileTypesProvider implementation="org.jetbrains.kotlin.idea.compiler.KotlinCompilableFileTypesProvider" />
<!-- fir-specific -->
<applicationService serviceInterface="org.jetbrains.kotlin.idea.base.plugin.KotlinPluginKindProvider"
serviceImplementation="org.jetbrains.kotlin.idea.fir.plugin.K2KotlinPluginKindProvider"/>
<applicationService serviceInterface="org.jetbrains.kotlin.idea.base.plugin.KotlinPluginModeProvider"
serviceImplementation="org.jetbrains.kotlin.idea.fir.plugin.K2KotlinPluginModeProvider"/>
<applicationService serviceInterface="org.jetbrains.kotlin.idea.codeInsight.overrideImplement.OverrideImplementFacility"
serviceImplementation="org.jetbrains.kotlin.idea.core.overrideImplement.OverrideImplementFacilityImpl"/>
<projectService serviceInterface="org.jetbrains.kotlin.analysis.api.session.KtAnalysisSessionProvider"

View File

@@ -13,19 +13,19 @@ import com.intellij.ui.dsl.builder.AlignY
import com.intellij.ui.dsl.builder.Panel
import com.intellij.ui.dsl.builder.RightGap
import com.intellij.ui.dsl.builder.panel
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginKind
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginKindProvider
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginMode
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginModeProvider
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginKindSwitcher
import org.jetbrains.kotlin.idea.base.plugin.getPluginKindDescription
import org.jetbrains.kotlin.idea.base.plugin.getPluginModeDescription
import org.jetbrains.kotlin.idea.preferences.KotlinPreferencesBundle
import javax.swing.JComponent
internal class KotlinPluginKindSwitcherController {
private val initialValue: KotlinPluginKind = KotlinPluginKindSwitcher.getPluginKindByVmOptions()
private var chosenKind: KotlinPluginKind = initialValue
private val initialValue: KotlinPluginMode = KotlinPluginKindSwitcher.getPluginKindByVmOptions()
private var chosenKind: KotlinPluginMode = initialValue
private val pluginKindWillBeSwitchedAfterRestart: Boolean
get() = KotlinPluginKindProvider.currentPluginKind != chosenKind
get() = KotlinPluginModeProvider.currentPluginMode != chosenKind
private lateinit var checkBox: JBCheckBox
@@ -58,11 +58,11 @@ internal class KotlinPluginKindSwitcherController {
fun createComponent(): JComponent = panel {
currentPluginPanel = panel {
row {
text(KotlinPreferencesBundle.message("label.your.current.plugin", KotlinPluginKindProvider.currentPluginKind.getPluginKindDescription()))
text(KotlinPreferencesBundle.message("label.your.current.plugin", KotlinPluginModeProvider.currentPluginMode.getPluginModeDescription()))
}
row {
val otherPlugin = KotlinPluginKindProvider.currentPluginKind.other()
text(KotlinPreferencesBundle.message("label.plugin.will.be.switched.after.ide.restart", otherPlugin.getPluginKindDescription()))
val otherPlugin = KotlinPluginModeProvider.currentPluginMode.other()
text(KotlinPreferencesBundle.message("label.plugin.will.be.switched.after.ide.restart", otherPlugin.getPluginModeDescription()))
}
row {
link(
@@ -82,7 +82,7 @@ internal class KotlinPluginKindSwitcherController {
checkBox(KotlinPreferencesBundle.message("checkbox.enable.k2.based.kotlin.plugin")).also {
checkBox = it.component
}.onChanged {
chosenKind = if (it.isSelected) KotlinPluginKind.K2 else KotlinPluginKind.K1
chosenKind = if (it.isSelected) KotlinPluginMode.K2 else KotlinPluginMode.K1
}.gap(RightGap.SMALL)
icon(AllIcons.General.Alpha).align(AlignY.BOTTOM)
updateCheckBoxToChosenKind()
@@ -107,7 +107,7 @@ internal class KotlinPluginKindSwitcherController {
}
private fun cancelSwitching() {
chosenKind = KotlinPluginKindProvider.currentPluginKind
chosenKind = KotlinPluginModeProvider.currentPluginMode
updateCheckBoxToChosenKind()
updatePanels()
}
@@ -118,7 +118,7 @@ internal class KotlinPluginKindSwitcherController {
}
private fun updateCheckBoxToChosenKind() {
checkBox.isSelected = chosenKind == KotlinPluginKind.K2
checkBox.isSelected = chosenKind == KotlinPluginMode.K2
}
private fun suggestRestart() {

View File

@@ -6,8 +6,8 @@ import com.intellij.psi.*
import com.intellij.psi.util.PsiTreeUtil
import com.intellij.testFramework.fixtures.CodeInsightTestFixture
import com.intellij.util.SmartFMap
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginKind
import org.jetbrains.kotlin.idea.base.plugin.checkKotlinPluginKind
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginMode
import org.jetbrains.kotlin.idea.base.plugin.checkKotlinPluginMode
import org.jetbrains.kotlin.idea.test.KotlinTestUtils
import org.jetbrains.kotlin.psi.KtDeclaration
import org.jetbrains.kotlin.psi.KtPackageDirective
@@ -88,8 +88,8 @@ fun setUpWithKotlinPlugin(isFirPlugin: Boolean, setUp: SetUpFunction) {
fun checkPluginIsCorrect(isFirPlugin: Boolean){
if (isFirPlugin) {
checkKotlinPluginKind(KotlinPluginKind.K2)
checkKotlinPluginMode(KotlinPluginMode.K2)
} else {
checkKotlinPluginKind(KotlinPluginKind.K1)
checkKotlinPluginMode(KotlinPluginMode.K1)
}
}