Root node creation fixed
authorRoman Shevchenko <roman.shevchenko@jetbrains.com>
Thu, 9 Sep 2010 14:39:05 +0000 (18:39 +0400)
committerRoman Shevchenko <roman.shevchenko@jetbrains.com>
Thu, 9 Sep 2010 14:39:48 +0000 (18:39 +0400)
platform/lang-impl/src/com/intellij/lang/impl/PsiBuilderImpl.java

index ae87bb23c024d0ae4c59222ab6e7ea5045b94e84..00e4a1a0f8131a2d6f1e38ab45e2137501c4a5cb 100644 (file)
@@ -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();
     }