From a91c7c0bcb2c2cab06fbc62c765d5e2d8ab5d3d2 Mon Sep 17 00:00:00 2001 From: peter Date: Wed, 16 Jun 2010 17:30:18 +0400 Subject: [PATCH] cache the eagerly created PSI, otherwise creating it makes no sense --- .../com/intellij/psi/impl/source/tree/CompositeElement.java | 6 +++++- .../intellij/psi/impl/source/tree/LazyParseableElement.java | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/psi/impl/source/tree/CompositeElement.java b/platform/lang-impl/src/com/intellij/psi/impl/source/tree/CompositeElement.java index 8783791a4a6c..eef91964e93e 100644 --- a/platform/lang-impl/src/com/intellij/psi/impl/source/tree/CompositeElement.java +++ b/platform/lang-impl/src/com/intellij/psi/impl/source/tree/CompositeElement.java @@ -513,10 +513,14 @@ public class CompositeElement extends TreeElement { wrapper = myWrapper; if (wrapper != null) return wrapper; - return myWrapper = createPsiNoLock(); + return getPsiNoLock(); } } + final PsiElement getPsiNoLock() { + return myWrapper = createPsiNoLock(); + } + protected PsiElement createPsiNoLock() { final Language lang = getElementType().getLanguage(); final ParserDefinition parserDefinition = LanguageParserDefinitions.INSTANCE.forLanguage(lang); diff --git a/platform/lang-impl/src/com/intellij/psi/impl/source/tree/LazyParseableElement.java b/platform/lang-impl/src/com/intellij/psi/impl/source/tree/LazyParseableElement.java index c77d34a7af46..5d391508b997 100644 --- a/platform/lang-impl/src/com/intellij/psi/impl/source/tree/LazyParseableElement.java +++ b/platform/lang-impl/src/com/intellij/psi/impl/source/tree/LazyParseableElement.java @@ -36,7 +36,7 @@ public class LazyParseableElement extends CompositeElement { @Override public void visitComposite(CompositeElement composite) { - composite.createPsiNoLock(); + composite.getPsiNoLock(); super.visitComposite(composite); }