From f3c92a7b4e21085f6cda3eb8e42ff790bd22118a Mon Sep 17 00:00:00 2001 From: Vladimir Krivosheev Date: Fri, 17 Oct 2014 10:10:47 +0200 Subject: [PATCH] use StringInterner --- .../openapi/components/impl/stores/DirectoryStorageData.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/platform/projectModel-impl/src/com/intellij/openapi/components/impl/stores/DirectoryStorageData.java b/platform/projectModel-impl/src/com/intellij/openapi/components/impl/stores/DirectoryStorageData.java index 063c7bab7b30..9d2da8b2e002 100644 --- a/platform/projectModel-impl/src/com/intellij/openapi/components/impl/stores/DirectoryStorageData.java +++ b/platform/projectModel-impl/src/com/intellij/openapi/components/impl/stores/DirectoryStorageData.java @@ -23,6 +23,7 @@ import com.intellij.openapi.util.JDOMUtil; import com.intellij.openapi.util.text.StringUtilRt; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.util.SmartList; +import com.intellij.util.containers.StringInterner; import gnu.trove.THashMap; import gnu.trove.TObjectObjectProcedure; import org.jdom.Element; @@ -71,6 +72,7 @@ public class DirectoryStorageData extends StorageDataBase { return; } + StringInterner interner = new StringInterner(); for (VirtualFile file : dir.getChildren()) { if (!isStorageFile(file)) { continue; @@ -94,6 +96,7 @@ public class DirectoryStorageData extends StorageDataBase { } Element state = (Element)elementChildren.get(0).detach(); + JDOMUtil.internElement(state, interner); if (pathMacroSubstitutor != null) { pathMacroSubstitutor.expandPaths(state); pathMacroSubstitutor.addUnknownMacros(name, PathMacrosCollector.getMacroNames(state));