diff --git a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/KotlinGradleSourceSetDataService.kt b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/KotlinGradleSourceSetDataService.kt index 4a107008021..81df602d271 100644 --- a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/KotlinGradleSourceSetDataService.kt +++ b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/KotlinGradleSourceSetDataService.kt @@ -54,8 +54,8 @@ import java.util.* interface GradleProjectImportHandler { companion object : ProjectExtensionDescriptor( - "org.jetbrains.kotlin.gradleProjectImportHandler", - GradleProjectImportHandler::class.java + "org.jetbrains.kotlin.gradleProjectImportHandler", + GradleProjectImportHandler::class.java ) fun importBySourceSet(facet: KotlinFacet, sourceSetNode: DataNode) @@ -66,10 +66,10 @@ class KotlinGradleSourceSetDataService : AbstractProjectDataService>, - projectData: ProjectData?, - project: Project, - modelsProvider: IdeModifiableModelsProvider + toImport: Collection>, + projectData: ProjectData?, + project: Project, + modelsProvider: IdeModifiableModelsProvider ) { for (sourceSetNode in toImport) { val sourceSetData = sourceSetNode.data @@ -86,10 +86,10 @@ class KotlinGradleProjectDataService : AbstractProjectDataService>, - projectData: ProjectData?, - project: Project, - modelsProvider: IdeModifiableModelsProvider + toImport: MutableCollection>, + projectData: ProjectData?, + project: Project, + modelsProvider: IdeModifiableModelsProvider ) { for (moduleNode in toImport) { // If source sets are present, configure facets in the their modules @@ -107,13 +107,14 @@ class KotlinGradleLibraryDataService : AbstractProjectDataService>, - projectData: ProjectData?, - project: Project, - modelsProvider: IdeModifiableModelsProvider + toImport: MutableCollection>, + projectData: ProjectData?, + project: Project, + modelsProvider: IdeModifiableModelsProvider ) { if (toImport.isEmpty()) return - val projectDataNode = toImport.first().parent!! as DataNode + val projectDataNode = toImport.first().parent!! + @Suppress("UNCHECKED_CAST") val moduleDataNodes = projectDataNode.children.filter { it.data is ModuleData } as List> val anyNonJvmModules = moduleDataNodes.any { detectPlatformByPlugin(it)?.takeIf { it !is TargetPlatformKind.Jvm } != null } for (libraryDataNode in toImport) { @@ -122,8 +123,7 @@ class KotlinGradleLibraryDataService : AbstractProjectDataService): TargetPlatformKind } private fun detectPlatformByLibrary(moduleNode: DataNode): TargetPlatformKind<*>? { - val detectedPlatforms = mavenLibraryIdToPlatform.entries.filter { moduleNode.getResolvedKotlinStdlibVersionByModuleData(listOf(it.key)) != null }.map { it.value }.distinct() + val detectedPlatforms = + mavenLibraryIdToPlatform.entries + .filter { moduleNode.getResolvedKotlinStdlibVersionByModuleData(listOf(it.key)) != null } + .map { it.value }.distinct() return detectedPlatforms.singleOrNull() ?: detectedPlatforms.firstOrNull { it != TargetPlatformKind.Common } } private fun configureFacetByGradleModule( - moduleNode: DataNode, - sourceSetNode: DataNode?, - ideModule: Module, - modelsProvider: IdeModifiableModelsProvider + moduleNode: DataNode, + sourceSetNode: DataNode?, + ideModule: Module, + modelsProvider: IdeModifiableModelsProvider ): KotlinFacet? { if (!moduleNode.isResolved) return null @@ -188,11 +190,12 @@ private fun configureFacetByGradleModule( } val compilerVersion = moduleNode.findAll(BuildScriptClasspathData.KEY).firstOrNull()?.data?.let(::findKotlinPluginVersion) - ?: return null + ?: return null val platformKind = detectPlatformByPlugin(moduleNode) ?: detectPlatformByLibrary(moduleNode) val coroutinesProperty = CoroutineSupport.byCompilerArgument( - moduleNode.coroutines ?: findKotlinCoroutinesProperty(ideModule.project)) + moduleNode.coroutines ?: findKotlinCoroutinesProperty(ideModule.project) + ) val kotlinFacet = ideModule.getOrCreateFacet(modelsProvider, false) kotlinFacet.configureFacet(compilerVersion, coroutinesProperty, platformKind, modelsProvider) @@ -222,7 +225,7 @@ private fun configureFacetByGradleModule( } private fun getExplicitOutputPath(moduleNode: DataNode, platformKind: TargetPlatformKind<*>?, sourceSet: String): String? { - if (platformKind !is TargetPlatformKind.JavaScript) return null + if (platformKind !== TargetPlatformKind.JavaScript) return null val k2jsArgumentList = moduleNode.compilerArgumentsBySourceSet?.get(sourceSet)?.currentArguments ?: return null return K2JSCompilerArguments().apply { parseCommandLineArguments(k2jsArgumentList, this) }.outputFile }