From b6385b014e8efa26d89d9bcd88c958da07b2528b Mon Sep 17 00:00:00 2001 From: Mikhail Mazurkevich Date: Wed, 29 Apr 2020 11:20:10 +0300 Subject: [PATCH] [workspace-model] Extract logic of removing the unloaded module to the method GitOrigin-RevId: 139a948e8a66b7b0a38045742d0365ca3ee54b3d --- .../LegacyBridgeModifiableModuleModel.kt | 28 ++++++++----------- 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/platform/workspaceModel-ide/src/com/intellij/workspace/legacyBridge/intellij/LegacyBridgeModifiableModuleModel.kt b/platform/workspaceModel-ide/src/com/intellij/workspace/legacyBridge/intellij/LegacyBridgeModifiableModuleModel.kt index de0932cfca45..0bf9c59f8d95 100644 --- a/platform/workspaceModel-ide/src/com/intellij/workspace/legacyBridge/intellij/LegacyBridgeModifiableModuleModel.kt +++ b/platform/workspaceModel-ide/src/com/intellij/workspace/legacyBridge/intellij/LegacyBridgeModifiableModuleModel.kt @@ -75,14 +75,7 @@ internal class LegacyBridgeModifiableModuleModel( if (findModuleByName(moduleName) != null) { throw ModuleWithNameAlreadyExists("Module already exists: $moduleName", moduleName) } - - // If module name equals to already unloaded module, the previous should be removed from store - val unloadedModuleDescription = moduleManager.getUnloadedModuleDescription(moduleName) - if (unloadedModuleDescription != null) { - val moduleEntity = entityStoreOnDiff.current.resolve(ModuleId(unloadedModuleDescription.name)) - ?: error("Could not find module to remove by id: ${unloadedModuleDescription.name}") - diff.removeEntity(moduleEntity) - } + removeUnloadedModule(moduleName) val entitySource = JpsProjectEntitiesLoader.createEntitySourceForModule(project, virtualFileManager.fromPath(PathUtil.getParentPath(canonicalPath)), null) @@ -115,6 +108,16 @@ internal class LegacyBridgeModifiableModuleModel( return null } + private fun removeUnloadedModule(moduleName: String) { + // If module name equals to already unloaded module, the previous should be removed from store + val unloadedModuleDescription = moduleManager.getUnloadedModuleDescription(moduleName) + if (unloadedModuleDescription != null) { + val moduleEntity = entityStoreOnDiff.current.resolve(ModuleId(unloadedModuleDescription.name)) + ?: error("Could not find module to remove by id: ${unloadedModuleDescription.name}") + diff.removeEntity(moduleEntity) + } + } + // TODO Actually load module content override fun loadModule(filePath: String): Module = newModule(filePath, "") @@ -210,14 +213,7 @@ internal class LegacyBridgeModifiableModuleModel( if (module.name != newName) { // if renaming to itself, forget it altogether myNewNameToModule[newName] = module } - - // If module name equals to already unloaded module, the previous should be removed from store - val unloadedModuleDescription = moduleManager.getUnloadedModuleDescription(newName) - if (unloadedModuleDescription != null) { - val moduleEntity = entityStoreOnDiff.current.resolve(ModuleId(unloadedModuleDescription.name)) - ?: error("Could not find module to remove by id: ${unloadedModuleDescription.name}") - diff.removeEntity(moduleEntity) - } + removeUnloadedModule(newName) if (oldModule != null) { throw ModuleWithNameAlreadyExists(ProjectModelBundle.message("module.already.exists.error", newName), newName)