From de06f2616aa9c816c2583d6824d7f1a4d37d903f Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Tue, 6 Jun 2017 17:20:34 +0300 Subject: [PATCH] memory: intern all PsiJavaTokens --- .../src/com/intellij/psi/impl/source/DummyHolder.java | 2 +- .../src/com/intellij/lang/TraverserBasedASTNode.java | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/platform/core-impl/src/com/intellij/psi/impl/source/DummyHolder.java b/platform/core-impl/src/com/intellij/psi/impl/source/DummyHolder.java index 6457b72a9930..fd9227bcb12a 100644 --- a/platform/core-impl/src/com/intellij/psi/impl/source/DummyHolder.java +++ b/platform/core-impl/src/com/intellij/psi/impl/source/DummyHolder.java @@ -68,7 +68,7 @@ public class DummyHolder extends PsiFileImpl { myLanguage = language; ((DummyHolderViewProvider)getViewProvider()).setDummyHolder(this); myContext = context; - myTable = table != null ? table : IdentityCharTable.INSTANCE; + myTable = table != null ? table : new CharTableImpl(); if (contentElement instanceof FileElement) { ((FileElement)contentElement).setPsi(this); ((FileElement)contentElement).setCharTable(myTable); diff --git a/platform/lang-impl/src/com/intellij/lang/TraverserBasedASTNode.java b/platform/lang-impl/src/com/intellij/lang/TraverserBasedASTNode.java index 019e6d91978f..68007138c904 100644 --- a/platform/lang-impl/src/com/intellij/lang/TraverserBasedASTNode.java +++ b/platform/lang-impl/src/com/intellij/lang/TraverserBasedASTNode.java @@ -22,7 +22,7 @@ import com.intellij.openapi.util.Comparing; import com.intellij.openapi.util.TextRange; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.*; -import com.intellij.psi.impl.source.IdentityCharTable; +import com.intellij.psi.impl.source.CharTableImpl; import com.intellij.psi.impl.source.tree.PsiWhiteSpaceImpl; import com.intellij.psi.tree.IElementType; import com.intellij.psi.tree.ILazyParseableElementType; @@ -228,6 +228,7 @@ public class TraverserBasedASTNode extends ReadOnlyASTNode { private static class FileNode extends TraverserBasedASTNode implements FileASTNode { private final PsiFile myPsiFile; + private final CharTableImpl myCharTable = new CharTableImpl(); FileNode(@NotNull SyntaxTraverser traverser, @NotNull N node, @NotNull PsiFile psiFile) { super(node, -1, null, traverser); @@ -243,7 +244,7 @@ public class TraverserBasedASTNode extends ReadOnlyASTNode { @NotNull @Override public CharTable getCharTable() { - return IdentityCharTable.INSTANCE; + return myCharTable; } @Override