diff --git a/plugins/kotlin/base/compiler-configuration-ui/src/org/jetbrains/kotlin/idea/base/compilerPreferences/configuration/KotlinCompilerConfigurableTab.java b/plugins/kotlin/base/compiler-configuration-ui/src/org/jetbrains/kotlin/idea/base/compilerPreferences/configuration/KotlinCompilerConfigurableTab.java index 0dac598804ee1..66a6d12c64e56 100644 --- a/plugins/kotlin/base/compiler-configuration-ui/src/org/jetbrains/kotlin/idea/base/compilerPreferences/configuration/KotlinCompilerConfigurableTab.java +++ b/plugins/kotlin/base/compiler-configuration-ui/src/org/jetbrains/kotlin/idea/base/compilerPreferences/configuration/KotlinCompilerConfigurableTab.java @@ -176,7 +176,7 @@ public KotlinCompilerConfigurableTab( module -> { KotlinFacet facet = KotlinFacet.Companion.get(module); if (facet == null) return null; - KotlinFacetSettings facetSettings = facet.getConfiguration().getSettings(); + IKotlinFacetSettings facetSettings = facet.getConfiguration().getSettings(); if (facetSettings.getUseProjectSettings()) return null; return module.getName(); } diff --git a/plugins/kotlin/base/compiler-configuration/src/org/jetbrains/kotlin/idea/compiler/configuration/KotlinFacetSettingsProvider.kt b/plugins/kotlin/base/compiler-configuration/src/org/jetbrains/kotlin/idea/compiler/configuration/KotlinFacetSettingsProvider.kt index 8e0b3fcbc9885..848628bdb49fc 100644 --- a/plugins/kotlin/base/compiler-configuration/src/org/jetbrains/kotlin/idea/compiler/configuration/KotlinFacetSettingsProvider.kt +++ b/plugins/kotlin/base/compiler-configuration/src/org/jetbrains/kotlin/idea/compiler/configuration/KotlinFacetSettingsProvider.kt @@ -6,8 +6,8 @@ import com.intellij.openapi.module.Module import com.intellij.openapi.project.Project interface KotlinFacetSettingsProvider { - fun getSettings(module: Module): KotlinFacetSettings? - fun getInitializedSettings(module: Module): KotlinFacetSettings + fun getSettings(module: Module): IKotlinFacetSettings? + fun getInitializedSettings(module: Module): IKotlinFacetSettings companion object { fun getInstance(project: Project): KotlinFacetSettingsProvider? = diff --git a/plugins/kotlin/base/facet/src/org/jetbrains/kotlin/idea/base/facet/KotlinFacetUtils.kt b/plugins/kotlin/base/facet/src/org/jetbrains/kotlin/idea/base/facet/KotlinFacetUtils.kt index 7d761328b2149..41b3dde0dabc6 100644 --- a/plugins/kotlin/base/facet/src/org/jetbrains/kotlin/idea/base/facet/KotlinFacetUtils.kt +++ b/plugins/kotlin/base/facet/src/org/jetbrains/kotlin/idea/base/facet/KotlinFacetUtils.kt @@ -74,10 +74,10 @@ var Module.refinesFragmentIds: Collection val Module.isTestModule: Boolean get() = facetSettings?.isTestModule ?: false -val KotlinFacetSettings.isMultiPlatformModule: Boolean +val IKotlinFacetSettings.isMultiPlatformModule: Boolean get() = mppVersion != null -private val Module.facetSettings: KotlinFacetSettings? +private val Module.facetSettings: IKotlinFacetSettings? get() = KotlinFacet.get(this)?.configuration?.settings @Service(Service.Level.PROJECT) diff --git a/plugins/kotlin/base/facet/src/org/jetbrains/kotlin/idea/facet/KotlinFacetConfiguration.kt b/plugins/kotlin/base/facet/src/org/jetbrains/kotlin/idea/facet/KotlinFacetConfiguration.kt index c1992e39c9ac9..916b4fbdd4596 100644 --- a/plugins/kotlin/base/facet/src/org/jetbrains/kotlin/idea/facet/KotlinFacetConfiguration.kt +++ b/plugins/kotlin/base/facet/src/org/jetbrains/kotlin/idea/facet/KotlinFacetConfiguration.kt @@ -3,8 +3,8 @@ package org.jetbrains.kotlin.idea.facet import com.intellij.facet.FacetConfiguration -import org.jetbrains.kotlin.config.KotlinFacetSettings +import org.jetbrains.kotlin.config.IKotlinFacetSettings interface KotlinFacetConfiguration : FacetConfiguration { - val settings: KotlinFacetSettings + val settings: IKotlinFacetSettings } \ No newline at end of file diff --git a/plugins/kotlin/base/facet/src/org/jetbrains/kotlin/idea/facet/KotlinFacetSettingsProviderImpl.kt b/plugins/kotlin/base/facet/src/org/jetbrains/kotlin/idea/facet/KotlinFacetSettingsProviderImpl.kt index 0566adf116c9e..2d228540a421d 100644 --- a/plugins/kotlin/base/facet/src/org/jetbrains/kotlin/idea/facet/KotlinFacetSettingsProviderImpl.kt +++ b/plugins/kotlin/base/facet/src/org/jetbrains/kotlin/idea/facet/KotlinFacetSettingsProviderImpl.kt @@ -12,22 +12,23 @@ import com.intellij.workspaceModel.ide.impl.legacyBridge.module.findModule import com.intellij.platform.workspace.storage.VersionedStorageChange import com.intellij.platform.workspace.jps.entities.FacetEntity import com.intellij.platform.workspace.jps.entities.ModuleEntity +import org.jetbrains.kotlin.config.IKotlinFacetSettings import org.jetbrains.kotlin.config.KotlinFacetSettings import org.jetbrains.kotlin.config.KotlinFacetSettingsProvider import org.jetbrains.kotlin.idea.base.util.caching.* import org.jetbrains.kotlin.idea.compiler.configuration.KotlinCompilerSettingsListener class KotlinFacetSettingsProviderImpl(project: Project) : - SynchronizedFineGrainedEntityCache(project, doSelfInitialization = false), + SynchronizedFineGrainedEntityCache(project, doSelfInitialization = false), WorkspaceModelChangeListener, KotlinCompilerSettingsListener, KotlinFacetSettingsProvider { override fun getSettings(module: Module) = KotlinFacet.get(module)?.configuration?.settings - override fun getInitializedSettings(module: Module): KotlinFacetSettings = runReadAction { get(module) } + override fun getInitializedSettings(module: Module): IKotlinFacetSettings = runReadAction { get(module) } - override fun calculate(key: Module): KotlinFacetSettings { + override fun calculate(key: Module): IKotlinFacetSettings { val kotlinFacetSettings = getSettings(key) ?: KotlinFacetSettings() kotlinFacetSettings.initializeIfNeeded(key, null) return kotlinFacetSettings diff --git a/plugins/kotlin/base/facet/src/org/jetbrains/kotlin/idea/facet/KotlinFacetUtils.kt b/plugins/kotlin/base/facet/src/org/jetbrains/kotlin/idea/facet/KotlinFacetUtils.kt index 6e4b1958a2eb9..7250b6f29efe1 100644 --- a/plugins/kotlin/base/facet/src/org/jetbrains/kotlin/idea/facet/KotlinFacetUtils.kt +++ b/plugins/kotlin/base/facet/src/org/jetbrains/kotlin/idea/facet/KotlinFacetUtils.kt @@ -34,7 +34,7 @@ import kotlin.reflect.KProperty1 var Module.hasExternalSdkConfiguration: Boolean by NotNullableUserDataProperty(Key.create("HAS_EXTERNAL_SDK_CONFIGURATION"), false) -fun KotlinFacetSettings.initializeIfNeeded( +fun IKotlinFacetSettings.initializeIfNeeded( module: Module, rootModel: ModuleRootModel?, platform: TargetPlatform? = null, // if null, detect by module dependencies diff --git a/plugins/kotlin/base/project-structure/src/org/jetbrains/kotlin/idea/base/projectStructure/LanguageVersionSettingsProvider.kt b/plugins/kotlin/base/project-structure/src/org/jetbrains/kotlin/idea/base/projectStructure/LanguageVersionSettingsProvider.kt index ad88e279f2ed7..cfc2507b5537c 100644 --- a/plugins/kotlin/base/project-structure/src/org/jetbrains/kotlin/idea/base/projectStructure/LanguageVersionSettingsProvider.kt +++ b/plugins/kotlin/base/project-structure/src/org/jetbrains/kotlin/idea/base/projectStructure/LanguageVersionSettingsProvider.kt @@ -190,7 +190,7 @@ class LanguageVersionSettingsProvider(private val project: Project) : Disposable return LanguageVersionSettingsImpl(languageVersion, apiVersion, analysisFlags, languageFeatures) } - private fun getLanguageApiVersionFromFacet(facetSettings: KotlinFacetSettings): Pair { + private fun getLanguageApiVersionFromFacet(facetSettings: IKotlinFacetSettings): Pair { val languageVersion = facetSettings.languageLevel val apiVersion = facetSettings.apiLevel?.let { ApiVersion.createByLanguageVersion(it) } @@ -250,7 +250,7 @@ class LanguageVersionSettingsProvider(private val project: Project) : Disposable return CommonFacetSettings(analysisFlags, languageFeatures) } - private fun getMultiPlatformLanguageFeatures(module: Module, facetSettings: KotlinFacetSettings): LanguageFeatureMap { + private fun getMultiPlatformLanguageFeatures(module: Module, facetSettings: IKotlinFacetSettings): LanguageFeatureMap { if (facetSettings.targetPlatform.isCommon() || ModuleRootManager.getInstance(module).dependencies.any { it.platform.isCommon() }) { return Collections.singletonMap(LanguageFeature.MultiPlatformProjects, LanguageFeature.State.ENABLED) } diff --git a/plugins/kotlin/gradle/gradle-java/src/org/jetbrains/kotlin/idea/gradleJava/configuration/KotlinGradleSourceSetDataService.kt b/plugins/kotlin/gradle/gradle-java/src/org/jetbrains/kotlin/idea/gradleJava/configuration/KotlinGradleSourceSetDataService.kt index dc8dcc0252570..ebc55ba7521db 100644 --- a/plugins/kotlin/gradle/gradle-java/src/org/jetbrains/kotlin/idea/gradleJava/configuration/KotlinGradleSourceSetDataService.kt +++ b/plugins/kotlin/gradle/gradle-java/src/org/jetbrains/kotlin/idea/gradleJava/configuration/KotlinGradleSourceSetDataService.kt @@ -26,8 +26,8 @@ import com.intellij.openapi.util.Key import org.jetbrains.kotlin.cli.common.arguments.CommonCompilerArguments import org.jetbrains.kotlin.cli.common.arguments.K2JSCompilerArguments import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments +import org.jetbrains.kotlin.config.IKotlinFacetSettings import org.jetbrains.kotlin.config.JvmTarget -import org.jetbrains.kotlin.config.KotlinFacetSettings import org.jetbrains.kotlin.config.TargetPlatformKind import org.jetbrains.kotlin.extensions.ProjectExtensionDescriptor import org.jetbrains.kotlin.idea.base.codeInsight.tooling.tooling @@ -326,7 +326,7 @@ fun configureFacetByGradleModule( return kotlinFacet } -private fun KotlinFacetSettings.configureOutputPaths(moduleNode: DataNode, platformKind: IdePlatformKind?) { +private fun IKotlinFacetSettings.configureOutputPaths(moduleNode: DataNode, platformKind: IdePlatformKind?) { if (!platformKind.isJavaScript) { productionOutputPath = null testOutputPath = null diff --git a/plugins/kotlin/gradle/gradle-java/tests/test/org/jetbrains/kotlin/gradle/multiplatformTests/testFeatures/checkers/facets/KotlinFacetSettingsChecker.kt b/plugins/kotlin/gradle/gradle-java/tests/test/org/jetbrains/kotlin/gradle/multiplatformTests/testFeatures/checkers/facets/KotlinFacetSettingsChecker.kt index 9aae995778086..5c2b91d28b7a1 100644 --- a/plugins/kotlin/gradle/gradle-java/tests/test/org/jetbrains/kotlin/gradle/multiplatformTests/testFeatures/checkers/facets/KotlinFacetSettingsChecker.kt +++ b/plugins/kotlin/gradle/gradle-java/tests/test/org/jetbrains/kotlin/gradle/multiplatformTests/testFeatures/checkers/facets/KotlinFacetSettingsChecker.kt @@ -3,16 +3,13 @@ package org.jetbrains.kotlin.gradle.multiplatformTests.testFeatures.checkers.fac import com.intellij.openapi.application.runReadAction import com.intellij.openapi.module.Module -import org.jetbrains.kotlin.config.CompilerSettings -import org.jetbrains.kotlin.config.KotlinFacetSettings -import org.jetbrains.kotlin.config.KotlinFacetSettingsProvider -import org.jetbrains.kotlin.config.LanguageVersion +import org.jetbrains.kotlin.config.* import org.jetbrains.kotlin.gradle.multiplatformTests.TestConfiguration import org.jetbrains.kotlin.gradle.multiplatformTests.workspace.* import org.jetbrains.kotlin.platform.TargetPlatform import kotlin.reflect.KProperty1 -internal typealias FacetField = KProperty1 +internal typealias FacetField = KProperty1 object KotlinFacetSettingsChecker : WorkspaceModelChecker(respectOrder = true) { override fun createDefaultConfiguration(): KotlinFacetSettingsChecksConfiguration = KotlinFacetSettingsChecksConfiguration() @@ -89,14 +86,14 @@ object KotlinFacetSettingsChecker : WorkspaceModelChecker( - KotlinFacetSettings::externalProjectId, - KotlinFacetSettings::languageLevel, - KotlinFacetSettings::apiLevel, - KotlinFacetSettings::mppVersion, - KotlinFacetSettings::dependsOnModuleNames, - KotlinFacetSettings::additionalVisibleModuleNames, - KotlinFacetSettings::targetPlatform, - KotlinFacetSettings::compilerSettings + IKotlinFacetSettings::externalProjectId, + IKotlinFacetSettings::languageLevel, + IKotlinFacetSettings::apiLevel, + IKotlinFacetSettings::mppVersion, + IKotlinFacetSettings::dependsOnModuleNames, + IKotlinFacetSettings::additionalVisibleModuleNames, + IKotlinFacetSettings::targetPlatform, + IKotlinFacetSettings::compilerSettings ) private val CURRENT_KGP_LANGUAGE_VERSION_PLACEHOLDER = "{{LATEST_STABLE}}" diff --git a/plugins/kotlin/gradle/gradle-java/tests/test/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleFacetImportTest.kt b/plugins/kotlin/gradle/gradle-java/tests/test/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleFacetImportTest.kt index e98b56c09c32c..0eacd064b8e05 100644 --- a/plugins/kotlin/gradle/gradle-java/tests/test/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleFacetImportTest.kt +++ b/plugins/kotlin/gradle/gradle-java/tests/test/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleFacetImportTest.kt @@ -46,15 +46,15 @@ import org.jetbrains.plugins.gradle.tooling.annotation.TargetVersions import org.junit.Ignore import org.junit.Test -fun KotlinGradleImportingTestCase.facetSettings(moduleName: String): KotlinFacetSettings { +fun KotlinGradleImportingTestCase.facetSettings(moduleName: String): IKotlinFacetSettings { val facet = KotlinFacet.get(getModule(moduleName)) ?: error("Kotlin facet not found in module $moduleName") return facet.configuration.settings } -val KotlinGradleImportingTestCase.facetSettings: KotlinFacetSettings +val KotlinGradleImportingTestCase.facetSettings: IKotlinFacetSettings get() = facetSettings("project.main") -val KotlinGradleImportingTestCase.testFacetSettings: KotlinFacetSettings +val KotlinGradleImportingTestCase.testFacetSettings: IKotlinFacetSettings get() = facetSettings("project.test") class GradleFacetImportTest8 : KotlinGradleImportingTestCase() { diff --git a/plugins/kotlin/gradle/multiplatform-tests/test/org/jetbrains/kotlin/gradle/idea/importing/multiplatformTests/KotlinMppCompilerArgumentsImportingTests.kt b/plugins/kotlin/gradle/multiplatform-tests/test/org/jetbrains/kotlin/gradle/idea/importing/multiplatformTests/KotlinMppCompilerArgumentsImportingTests.kt index ebc09440774cd..d51a2665bacd6 100644 --- a/plugins/kotlin/gradle/multiplatform-tests/test/org/jetbrains/kotlin/gradle/idea/importing/multiplatformTests/KotlinMppCompilerArgumentsImportingTests.kt +++ b/plugins/kotlin/gradle/multiplatform-tests/test/org/jetbrains/kotlin/gradle/idea/importing/multiplatformTests/KotlinMppCompilerArgumentsImportingTests.kt @@ -1,7 +1,7 @@ // 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.gradle.idea.importing.multiplatformTests -import org.jetbrains.kotlin.config.KotlinFacetSettings +import org.jetbrains.kotlin.config.IKotlinFacetSettings import org.jetbrains.kotlin.gradle.multiplatformTests.AbstractKotlinMppGradleImportingTest import org.jetbrains.kotlin.gradle.multiplatformTests.TestConfigurationDslScope import org.jetbrains.kotlin.gradle.multiplatformTests.testFeatures.checkers.facets.KotlinFacetSettingsChecker @@ -19,9 +19,9 @@ class KotlinMppCompilerArgumentsImportingTests : AbstractKotlinMppGradleImportin onlyCheckers(KotlinFacetSettingsChecker) onlyFacetFields( - KotlinFacetSettings::languageLevel, - KotlinFacetSettings::apiLevel, - KotlinFacetSettings::compilerSettings + IKotlinFacetSettings::languageLevel, + IKotlinFacetSettings::apiLevel, + IKotlinFacetSettings::compilerSettings ) hideLineMarkers = true hideResourceRoots = true @@ -74,10 +74,10 @@ class KotlinMppCompilerArgumentsImportingTests : AbstractKotlinMppGradleImportin fun testCompilerOptionsInCompilationTaskKJvm() { doTest { onlyFacetFields( - KotlinFacetSettings::languageLevel, - KotlinFacetSettings::apiLevel, - KotlinFacetSettings::compilerSettings, - KotlinFacetSettings::targetPlatform + IKotlinFacetSettings::languageLevel, + IKotlinFacetSettings::apiLevel, + IKotlinFacetSettings::compilerSettings, + IKotlinFacetSettings::targetPlatform ) } } diff --git a/plugins/kotlin/gradle/multiplatform-tests/test/org/jetbrains/kotlin/gradle/idea/importing/multiplatformTests/KotlinMppExperimentalTierCasesImportingTest.kt b/plugins/kotlin/gradle/multiplatform-tests/test/org/jetbrains/kotlin/gradle/idea/importing/multiplatformTests/KotlinMppExperimentalTierCasesImportingTest.kt index 3c0344042ea93..5961f0a880bb8 100644 --- a/plugins/kotlin/gradle/multiplatform-tests/test/org/jetbrains/kotlin/gradle/idea/importing/multiplatformTests/KotlinMppExperimentalTierCasesImportingTest.kt +++ b/plugins/kotlin/gradle/multiplatform-tests/test/org/jetbrains/kotlin/gradle/idea/importing/multiplatformTests/KotlinMppExperimentalTierCasesImportingTest.kt @@ -2,7 +2,7 @@ package org.jetbrains.kotlin.gradle.idea.importing.multiplatformTests import com.intellij.lang.annotation.HighlightSeverity -import org.jetbrains.kotlin.config.KotlinFacetSettings +import org.jetbrains.kotlin.config.IKotlinFacetSettings import org.jetbrains.kotlin.gradle.multiplatformTests.AbstractKotlinMppGradleImportingTest import org.jetbrains.kotlin.gradle.multiplatformTests.TestConfigurationDslScope import org.jetbrains.kotlin.gradle.multiplatformTests.testFeatures.checkers.facets.KotlinFacetSettingsChecker @@ -150,7 +150,7 @@ class KotlinMppExperimentalTierCasesImportingTest : AbstractKotlinMppGradleImpor fun testSimilarTargetsBamboo() { doTest { onlyCheckers(KotlinFacetSettingsChecker, OrderEntriesChecker) - onlyFacetFields(KotlinFacetSettings::targetPlatform) + onlyFacetFields(IKotlinFacetSettings::targetPlatform) } } } diff --git a/plugins/kotlin/gradle/multiplatform-tests/test/org/jetbrains/kotlin/gradle/idea/importing/multiplatformTests/KotlinMppMiscCasesImportingTests.kt b/plugins/kotlin/gradle/multiplatform-tests/test/org/jetbrains/kotlin/gradle/idea/importing/multiplatformTests/KotlinMppMiscCasesImportingTests.kt index 1886deecbc1b0..6a5fb3db64b3a 100644 --- a/plugins/kotlin/gradle/multiplatform-tests/test/org/jetbrains/kotlin/gradle/idea/importing/multiplatformTests/KotlinMppMiscCasesImportingTests.kt +++ b/plugins/kotlin/gradle/multiplatform-tests/test/org/jetbrains/kotlin/gradle/idea/importing/multiplatformTests/KotlinMppMiscCasesImportingTests.kt @@ -2,7 +2,7 @@ package org.jetbrains.kotlin.gradle.idea.importing.multiplatformTests import com.intellij.lang.annotation.HighlightSeverity -import org.jetbrains.kotlin.config.KotlinFacetSettings +import org.jetbrains.kotlin.config.IKotlinFacetSettings import org.jetbrains.kotlin.gradle.multiplatformTests.AbstractKotlinMppGradleImportingTest import org.jetbrains.kotlin.gradle.multiplatformTests.TestConfigurationDslScope import org.jetbrains.kotlin.gradle.multiplatformTests.testFeatures.checkers.contentRoots.ContentRootsChecker @@ -21,7 +21,7 @@ class KotlinMppMiscCasesImportingTests : AbstractKotlinMppGradleImportingTest() hideKotlinTest = true hideKotlinNativeDistribution = true - onlyFacetFields(KotlinFacetSettings::targetPlatform) + onlyFacetFields(IKotlinFacetSettings::targetPlatform) hideResourceRoots = true } @@ -183,7 +183,7 @@ class KotlinMppMiscCasesImportingTests : AbstractKotlinMppGradleImportingTest() fun testAssociateCompilationIntegrationTest() { doTest { onlyCheckers(HighlightingChecker, KotlinFacetSettingsChecker) - onlyFacetFields(KotlinFacetSettings::additionalVisibleModuleNames) + onlyFacetFields(IKotlinFacetSettings::additionalVisibleModuleNames) hideLineMarkers = true } } diff --git a/plugins/kotlin/gradle/multiplatform-tests/test/org/jetbrains/kotlin/gradle/idea/importing/multiplatformTests/PrecisePlatformsImportingTests.kt b/plugins/kotlin/gradle/multiplatform-tests/test/org/jetbrains/kotlin/gradle/idea/importing/multiplatformTests/PrecisePlatformsImportingTests.kt index fb0b32bd8a456..505960c637726 100644 --- a/plugins/kotlin/gradle/multiplatform-tests/test/org/jetbrains/kotlin/gradle/idea/importing/multiplatformTests/PrecisePlatformsImportingTests.kt +++ b/plugins/kotlin/gradle/multiplatform-tests/test/org/jetbrains/kotlin/gradle/idea/importing/multiplatformTests/PrecisePlatformsImportingTests.kt @@ -1,7 +1,7 @@ // 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.gradle.idea.importing.multiplatformTests -import org.jetbrains.kotlin.config.KotlinFacetSettings +import org.jetbrains.kotlin.config.IKotlinFacetSettings import org.jetbrains.kotlin.gradle.multiplatformTests.AbstractKotlinMppGradleImportingTest import org.jetbrains.kotlin.gradle.multiplatformTests.TestConfigurationDslScope import org.jetbrains.kotlin.gradle.multiplatformTests.testFeatures.checkers.facets.KotlinFacetSettingsChecker @@ -12,7 +12,7 @@ import org.junit.Test class PrecisePlatformsImportingTests : AbstractKotlinMppGradleImportingTest() { override fun TestConfigurationDslScope.defaultTestConfiguration() { onlyCheckers(KotlinFacetSettingsChecker) - onlyFacetFields(KotlinFacetSettings::targetPlatform) + onlyFacetFields(IKotlinFacetSettings::targetPlatform) } @Test diff --git a/plugins/kotlin/highlighting/highlighting-k1/src/org/jetbrains/kotlin/idea/highlighter/ElementAnnotator.kt b/plugins/kotlin/highlighting/highlighting-k1/src/org/jetbrains/kotlin/idea/highlighter/ElementAnnotator.kt index 8b8abe16b08d7..99f3f0cf0d68b 100644 --- a/plugins/kotlin/highlighting/highlighting-k1/src/org/jetbrains/kotlin/idea/highlighter/ElementAnnotator.kt +++ b/plugins/kotlin/highlighting/highlighting-k1/src/org/jetbrains/kotlin/idea/highlighter/ElementAnnotator.kt @@ -15,6 +15,7 @@ import com.intellij.psi.PsiElement import com.intellij.util.containers.MultiMap import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments import org.jetbrains.kotlin.config.KotlinFacetSettingsProvider +import org.jetbrains.kotlin.config.isCompilerSettingPresent import org.jetbrains.kotlin.diagnostics.Diagnostic import org.jetbrains.kotlin.diagnostics.Errors import org.jetbrains.kotlin.diagnostics.Severity diff --git a/plugins/kotlin/idea/tests/test/org/jetbrains/kotlin/idea/configuration/ConfigureKotlinTest.java b/plugins/kotlin/idea/tests/test/org/jetbrains/kotlin/idea/configuration/ConfigureKotlinTest.java index 71dbc0421079e..ea4170feaf021 100644 --- a/plugins/kotlin/idea/tests/test/org/jetbrains/kotlin/idea/configuration/ConfigureKotlinTest.java +++ b/plugins/kotlin/idea/tests/test/org/jetbrains/kotlin/idea/configuration/ConfigureKotlinTest.java @@ -25,10 +25,7 @@ import org.jetbrains.kotlin.cli.common.arguments.InternalArgument; import org.jetbrains.kotlin.cli.common.arguments.K2JSCompilerArguments; import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments; -import org.jetbrains.kotlin.config.JvmTarget; -import org.jetbrains.kotlin.config.KotlinFacetSettings; -import org.jetbrains.kotlin.config.KotlinFacetSettingsProvider; -import org.jetbrains.kotlin.config.LanguageVersion; +import org.jetbrains.kotlin.config.*; import org.jetbrains.kotlin.idea.base.facet.platform.TargetPlatformDetectorUtils; import org.jetbrains.kotlin.idea.base.indices.JavaIndicesUtils; import org.jetbrains.kotlin.idea.base.platforms.KotlinJavaScriptLibraryKind; @@ -196,7 +193,7 @@ public void testMavenProvidedTestJsKind() { } public void testJvmProjectWithV1FacetConfig() { - KotlinFacetSettings settings = KotlinFacetSettingsProvider.Companion.getInstance(myProject).getInitializedSettings(getModule()); + IKotlinFacetSettings settings = KotlinFacetSettingsProvider.Companion.getInstance(myProject).getInitializedSettings(getModule()); K2JVMCompilerArguments arguments = (K2JVMCompilerArguments) settings.getCompilerArguments(); assertFalse(settings.getUseProjectSettings()); assertEquals(LanguageVersion.KOTLIN_1_1, settings.getLanguageLevel()); @@ -210,7 +207,7 @@ public void testJvmProjectWithV1FacetConfig() { } public void testJsProjectWithV1FacetConfig() { - KotlinFacetSettings settings = KotlinFacetSettingsProvider.Companion.getInstance(myProject).getInitializedSettings(getModule()); + IKotlinFacetSettings settings = KotlinFacetSettingsProvider.Companion.getInstance(myProject).getInitializedSettings(getModule()); K2JSCompilerArguments arguments = (K2JSCompilerArguments) settings.getCompilerArguments(); assertFalse(settings.getUseProjectSettings()); assertEquals(LanguageVersion.KOTLIN_1_1, settings.getLanguageLevel()); @@ -223,7 +220,7 @@ public void testJsProjectWithV1FacetConfig() { } public void testJvmProjectWithV2FacetConfig() { - KotlinFacetSettings settings = KotlinFacetSettingsProvider.Companion.getInstance(myProject).getInitializedSettings(getModule()); + IKotlinFacetSettings settings = KotlinFacetSettingsProvider.Companion.getInstance(myProject).getInitializedSettings(getModule()); K2JVMCompilerArguments arguments = (K2JVMCompilerArguments) settings.getCompilerArguments(); assertFalse(settings.getUseProjectSettings()); assertEquals(LanguageVersion.KOTLIN_1_1, settings.getLanguageLevel()); @@ -237,7 +234,7 @@ public void testJvmProjectWithV2FacetConfig() { } public void testJsProjectWithV2FacetConfig() { - KotlinFacetSettings settings = KotlinFacetSettingsProvider.Companion.getInstance(myProject).getInitializedSettings(getModule()); + IKotlinFacetSettings settings = KotlinFacetSettingsProvider.Companion.getInstance(myProject).getInitializedSettings(getModule()); K2JSCompilerArguments arguments = (K2JSCompilerArguments) settings.getCompilerArguments(); assertFalse(settings.getUseProjectSettings()); assertEquals(LanguageVersion.KOTLIN_1_1, settings.getLanguageLevel()); @@ -250,7 +247,7 @@ public void testJsProjectWithV2FacetConfig() { } public void testJvmProjectWithV3FacetConfig() { - KotlinFacetSettings settings = KotlinFacetSettingsProvider.Companion.getInstance(myProject).getInitializedSettings(getModule()); + IKotlinFacetSettings settings = KotlinFacetSettingsProvider.Companion.getInstance(myProject).getInitializedSettings(getModule()); K2JVMCompilerArguments arguments = (K2JVMCompilerArguments) settings.getCompilerArguments(); assertFalse(settings.getUseProjectSettings()); assertEquals(LanguageVersion.KOTLIN_1_1, settings.getLanguageLevel()); @@ -264,7 +261,7 @@ public void testJvmProjectWithV3FacetConfig() { } public void testJvmProjectWithV4FacetConfig() { - KotlinFacetSettings settings = KotlinFacetSettingsProvider.Companion.getInstance(myProject).getInitializedSettings(getModule()); + IKotlinFacetSettings settings = KotlinFacetSettingsProvider.Companion.getInstance(myProject).getInitializedSettings(getModule()); K2JVMCompilerArguments arguments = (K2JVMCompilerArguments) settings.getCompilerArguments(); assertFalse(settings.getUseProjectSettings()); assertEquals(LanguageVersion.KOTLIN_1_4, settings.getLanguageLevel()); @@ -277,7 +274,7 @@ public void testJvmProjectWithV4FacetConfig() { } public void testJvmProjectWithJvmTarget11() { - KotlinFacetSettings settings = KotlinFacetSettingsProvider.Companion.getInstance(myProject).getInitializedSettings(getModule()); + IKotlinFacetSettings settings = KotlinFacetSettingsProvider.Companion.getInstance(myProject).getInitializedSettings(getModule()); assertEquals(JvmPlatforms.INSTANCE.jvmPlatformByTargetVersion(JvmTarget.JVM_11), settings.getTargetPlatform()); } diff --git a/plugins/kotlin/maven/src/org/jetbrains/kotlin/idea/maven/KotlinMavenImporter.kt b/plugins/kotlin/maven/src/org/jetbrains/kotlin/idea/maven/KotlinMavenImporter.kt index 405991b970235..9d267742e45b9 100644 --- a/plugins/kotlin/maven/src/org/jetbrains/kotlin/idea/maven/KotlinMavenImporter.kt +++ b/plugins/kotlin/maven/src/org/jetbrains/kotlin/idea/maven/KotlinMavenImporter.kt @@ -198,7 +198,7 @@ class KotlinMavenImporter : MavenImporter(KOTLIN_PLUGIN_GROUP_ID, KOTLIN_PLUGIN_ private fun configureJSOutputPaths( mavenProject: MavenProject, modifiableRootModel: ModifiableRootModel, - facetSettings: KotlinFacetSettings, + facetSettings: IKotlinFacetSettings, mavenPlugin: MavenPlugin ) { fun parentPath(path: String): String = diff --git a/plugins/kotlin/maven/tests/test/org/jetbrains/kotlin/idea/maven/AbstractKotlinMavenImporterTest.kt b/plugins/kotlin/maven/tests/test/org/jetbrains/kotlin/idea/maven/AbstractKotlinMavenImporterTest.kt index 96d75b8fedb5b..97120890d8282 100644 --- a/plugins/kotlin/maven/tests/test/org/jetbrains/kotlin/idea/maven/AbstractKotlinMavenImporterTest.kt +++ b/plugins/kotlin/maven/tests/test/org/jetbrains/kotlin/idea/maven/AbstractKotlinMavenImporterTest.kt @@ -25,10 +25,7 @@ import org.jetbrains.jps.model.java.JavaSourceRootType import org.jetbrains.kotlin.caches.resolve.KotlinCacheService import org.jetbrains.kotlin.cli.common.arguments.K2JSCompilerArguments import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments -import org.jetbrains.kotlin.config.KotlinFacetSettings -import org.jetbrains.kotlin.config.LanguageFeature -import org.jetbrains.kotlin.config.LanguageVersion -import org.jetbrains.kotlin.config.additionalArgumentsAsList +import org.jetbrains.kotlin.config.* import org.jetbrains.kotlin.idea.base.platforms.KotlinCommonLibraryKind import org.jetbrains.kotlin.idea.base.platforms.KotlinJavaScriptLibraryKind import org.jetbrains.kotlin.idea.base.plugin.artifacts.KotlinArtifacts @@ -86,7 +83,7 @@ abstract class AbstractKotlinMavenImporterTest(private val createStdProjectFolde protected fun facetSettings(moduleName: String) = KotlinFacet.get(getModule(moduleName))!!.configuration.settings - protected val facetSettings: KotlinFacetSettings + protected val facetSettings: IKotlinFacetSettings get() = facetSettings("project") protected fun assertImporterStatePresent() { @@ -3534,7 +3531,7 @@ abstract class AbstractKotlinMavenImporterTest(private val createStdProjectFolde } } - protected fun doJvmTarget6Test(version: String?): Pair> { + protected fun doJvmTarget6Test(version: String?): Pair> { createProjectSubDirs("src/main/kotlin", "src/main/kotlin.jvm", "src/test/kotlin", "src/test/kotlin.jvm") val notifications = catchNotifications(myProject, "Kotlin Maven project import") { diff --git a/plugins/kotlin/test-framework/test/org/jetbrains/kotlin/idea/stubs/AbstractMultiModuleTest.kt b/plugins/kotlin/test-framework/test/org/jetbrains/kotlin/idea/stubs/AbstractMultiModuleTest.kt index 5be0b9140e804..29d0468d7fc49 100644 --- a/plugins/kotlin/test-framework/test/org/jetbrains/kotlin/idea/stubs/AbstractMultiModuleTest.kt +++ b/plugins/kotlin/test-framework/test/org/jetbrains/kotlin/idea/stubs/AbstractMultiModuleTest.kt @@ -27,7 +27,7 @@ import com.intellij.testFramework.IdeaTestUtil import com.intellij.testFramework.PsiTestUtil import com.intellij.util.ThrowableRunnable import org.jetbrains.kotlin.config.CompilerSettings -import org.jetbrains.kotlin.config.KotlinFacetSettings +import org.jetbrains.kotlin.config.IKotlinFacetSettings import org.jetbrains.kotlin.config.KotlinFacetSettingsProvider import org.jetbrains.kotlin.idea.core.util.toPsiFile import org.jetbrains.kotlin.idea.facet.getOrCreateFacet @@ -275,7 +275,7 @@ fun Module.createMultiplatformFacetM3( private fun Module.createFacetWithAdditionalSetup( platformKind: TargetPlatform?, useProjectSettings: Boolean, - additionalSetup: KotlinFacetSettings.() -> Unit + additionalSetup: IKotlinFacetSettings.() -> Unit ) { WriteAction.run { val modelsProvider = ProjectDataManager.getInstance().createModifiableModelsProvider(project)