diff --git a/platform/lang-impl/src/com/intellij/lang/impl/PsiBuilderImpl.java b/platform/lang-impl/src/com/intellij/lang/impl/PsiBuilderImpl.java index ae87bb23c024..00e4a1a0f813 100644 --- a/platform/lang-impl/src/com/intellij/lang/impl/PsiBuilderImpl.java +++ b/platform/lang-impl/src/com/intellij/lang/impl/PsiBuilderImpl.java @@ -790,7 +790,9 @@ public class PsiBuilderImpl extends UserDataHolderBase implements PsiBuilder { } private ASTNode createRootAST(final StartMarker rootMarker) { - final ASTNode rootNode = createComposite(rootMarker); + final IElementType type = rootMarker.getTokenType(); + final ASTNode rootNode = type instanceof IFileElementType ? + ASTFactory.lazy((ILazyParseableElementType)type, null) : createComposite(rootMarker); if (myCharTable == null) { myCharTable = rootNode instanceof FileElement ? ((FileElement)rootNode).getCharTable() : new CharTableImpl(); }