mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
cache the eagerly created PSI, otherwise creating it makes no sense
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -36,7 +36,7 @@ public class LazyParseableElement extends CompositeElement {
|
||||
|
||||
@Override
|
||||
public void visitComposite(CompositeElement composite) {
|
||||
composite.createPsiNoLock();
|
||||
composite.getPsiNoLock();
|
||||
super.visitComposite(composite);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user