mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-01-05 01:50:56 +07:00
[kotlin] rename KotlinPluginKind -> KotlinPluginMode according to KTIJ-28325
^KTIJ-28325 ^KTIJ-25476 GitOrigin-RevId: 03094c1ea060f1204652b59f9df3e49dc4b6df8b
This commit is contained in:
committed by
intellij-monorepo-bot
parent
47fcc2c08e
commit
ac28ad9ac9
@@ -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>
|
||||
@@ -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
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
@@ -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())
|
||||
}
|
||||
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
@@ -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() {
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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() {
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
@@ -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(
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
}
|
||||
@@ -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()
|
||||
|
||||
@@ -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() {
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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() {
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user