From 3b241602628a700da1ebe2834e951644e70305dd Mon Sep 17 00:00:00 2001 From: Vladimir Dolzhenko Date: Sat, 23 Mar 2024 19:04:46 +0100 Subject: [PATCH] [kotlin] Adjust isPackage #KTIJ-12018 GitOrigin-RevId: e74ff16a2e60bbe58eedbe9375cb614f01d0d8a3 --- .../kotlin/idea/base/util/ProjectStructureUtils.kt | 5 ++++- .../actions/CreateKotlinAwareDirectoryOrPackageAction.kt | 6 ++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/plugins/kotlin/base/util/src/org/jetbrains/kotlin/idea/base/util/ProjectStructureUtils.kt b/plugins/kotlin/base/util/src/org/jetbrains/kotlin/idea/base/util/ProjectStructureUtils.kt index 9e86682aaa8b..4f78bb46cc7c 100644 --- a/plugins/kotlin/base/util/src/org/jetbrains/kotlin/idea/base/util/ProjectStructureUtils.kt +++ b/plugins/kotlin/base/util/src/org/jetbrains/kotlin/idea/base/util/ProjectStructureUtils.kt @@ -141,8 +141,11 @@ fun LibraryEx.updateEx(block: (LibraryEx.ModifiableModelEx) -> Unit) { } } +val KOTLIN_SOURCE_ROOT_TYPES: Set> = + ALL_KOTLIN_SOURCE_ROOT_TYPES + val KOTLIN_AWARE_SOURCE_ROOT_TYPES: Set> = - JavaModuleSourceRootTypes.SOURCES + ALL_KOTLIN_SOURCE_ROOT_TYPES + JavaModuleSourceRootTypes.SOURCES + KOTLIN_SOURCE_ROOT_TYPES val KOTLIN_AWARE_SOURCE_AND_RESOURCES_ROOT_TYPES: Set> = KOTLIN_AWARE_SOURCE_ROOT_TYPES + JavaModuleSourceRootTypes.RESOURCES diff --git a/plugins/kotlin/kotlin.ide/src/org/jetbrains/kotlin/idea/actions/CreateKotlinAwareDirectoryOrPackageAction.kt b/plugins/kotlin/kotlin.ide/src/org/jetbrains/kotlin/idea/actions/CreateKotlinAwareDirectoryOrPackageAction.kt index 906aa17ea966..5c7652122943 100644 --- a/plugins/kotlin/kotlin.ide/src/org/jetbrains/kotlin/idea/actions/CreateKotlinAwareDirectoryOrPackageAction.kt +++ b/plugins/kotlin/kotlin.ide/src/org/jetbrains/kotlin/idea/actions/CreateKotlinAwareDirectoryOrPackageAction.kt @@ -5,14 +5,16 @@ import com.intellij.ide.actions.CreateDirectoryOrPackageAction import com.intellij.openapi.project.Project import com.intellij.openapi.roots.ProjectRootManager import com.intellij.psi.PsiDirectory -import org.jetbrains.kotlin.idea.base.util.KOTLIN_AWARE_SOURCE_ROOT_TYPES +import org.jetbrains.kotlin.idea.base.util.KOTLIN_SOURCE_ROOT_TYPES class CreateKotlinAwareDirectoryOrPackageAction: CreateDirectoryOrPackageAction() { override fun isPackage(project: Project, directories: List): Boolean { + if (super.isPackage(project, directories)) return true + val fileIndex = ProjectRootManager.getInstance(project).getFileIndex() return directories.any { val virtualFile = it.getVirtualFile() - fileIndex.isUnderSourceRootOfType(virtualFile, KOTLIN_AWARE_SOURCE_ROOT_TYPES) + fileIndex.isUnderSourceRootOfType(virtualFile, KOTLIN_SOURCE_ROOT_TYPES) } } } \ No newline at end of file