From 1109712e4c9be9787ef3155d405ece19fd189686 Mon Sep 17 00:00:00 2001 From: Vladimir Krivosheev Date: Wed, 25 Jan 2017 15:00:24 +0100 Subject: [PATCH] add "duplicated content url" assertion --- .../openapi/module/impl/ModuleManagerImpl.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/platform/projectModel-impl/src/com/intellij/openapi/module/impl/ModuleManagerImpl.java b/platform/projectModel-impl/src/com/intellij/openapi/module/impl/ModuleManagerImpl.java index e3629cc54484..056f6c47b63a 100644 --- a/platform/projectModel-impl/src/com/intellij/openapi/module/impl/ModuleManagerImpl.java +++ b/platform/projectModel-impl/src/com/intellij/openapi/module/impl/ModuleManagerImpl.java @@ -18,6 +18,8 @@ package com.intellij.openapi.module.impl; import com.intellij.ProjectTopics; import com.intellij.concurrency.JobSchedulerImpl; import com.intellij.openapi.Disposable; +import com.intellij.openapi.application.Application; +import com.intellij.openapi.application.ApplicationInfo; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.application.ReadAction; import com.intellij.openapi.components.PersistentStateComponent; @@ -316,6 +318,21 @@ public abstract class ModuleManagerImpl extends ModuleManager implements Disposa progressIndicator.checkCanceled(); + Application app = ApplicationManager.getApplication(); + if (app.isInternal() || app.isEAP() || ApplicationInfo.getInstance().getBuild().isSnapshot()) { + Map track = new THashMap<>(); + for (Module module : moduleModel.getModules()) { + for (String url : ModuleRootManager.getInstance(module).getContentRootUrls()) { + Module oldModule = track.put(url, module); + if (oldModule != null) { + //Map track1 = ContentEntryImpl.track; + //VirtualFilePointer pointer = track1.get(url); + LOG.error("duplicated content url: " + url); + } + } + } + } + onModuleLoadErrors(moduleModel, errors); showUnknownModuleTypeNotification(modulesWithUnknownTypes);