From fcba2041615044291c86905989bf06f77a387c11 Mon Sep 17 00:00:00 2001 From: Vladimir Krivosheev Date: Thu, 4 May 2017 16:54:48 +0200 Subject: [PATCH] simplify code --- .../platform/ModuleAttachProcessor.kt | 30 ++++++------------- 1 file changed, 9 insertions(+), 21 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/platform/ModuleAttachProcessor.kt b/platform/lang-impl/src/com/intellij/platform/ModuleAttachProcessor.kt index f2efabb03358..18b123b6beca 100644 --- a/platform/lang-impl/src/com/intellij/platform/ModuleAttachProcessor.kt +++ b/platform/lang-impl/src/com/intellij/platform/ModuleAttachProcessor.kt @@ -48,31 +48,20 @@ private val LOG = Logger.getInstance(ModuleAttachProcessor::class.java) class ModuleAttachProcessor : ProjectAttachProcessor() { companion object { - @JvmStatic - fun getPrimaryModule(project: Project) = if (ProjectAttachProcessor.canAttachToProject()) findModuleInBaseDir(project) else null - @JvmStatic fun findModuleInBaseDir(project: Project): Module? { - for (module in ModuleManager.getInstance(project).modules) { - for (root in module.rootManager.contentRoots) { - if (root == project.baseDir) { - return module - } - } - } - return null + val baseDir = project.baseDir + return ModuleManager.getInstance(project).modules.firstOrNull { it.rootManager.contentRoots.any { it == baseDir } } } + @JvmStatic + fun getPrimaryModule(project: Project) = if (ProjectAttachProcessor.canAttachToProject()) findModuleInBaseDir(project) else null + @JvmStatic fun getSortedModules(project: Project): List { - val result = ArrayList() val primaryModule = getPrimaryModule(project) - val modules = ModuleManager.getInstance(project).modules - for (module in modules) { - if (module !== primaryModule) { - result.add(module) - } - } + val result = ArrayList() + ModuleManager.getInstance(project).modules.filterTo(result) { it !== primaryModule} result.sortBy(Module::getName) primaryModule?.let { result.add(0, it) @@ -82,7 +71,6 @@ class ModuleAttachProcessor : ProjectAttachProcessor() { /** * @param project the project - * * * @return null if either multi-projects are not enabled or the project has only one module */ @JvmStatic @@ -96,8 +84,8 @@ class ModuleAttachProcessor : ProjectAttachProcessor() { return null } - val primaryModule = getPrimaryModule(project) ?: modules[0] - val result = StringBuilder(primaryModule!!.name) + val primaryModule = getPrimaryModule(project) ?: modules.first() + val result = StringBuilder(primaryModule.name) result.append(", ") for (module in modules) { if (module === primaryModule) {