Slim. Template languages must be over HTML_DOCUMENT element
authorAndrey Vokin <andrey.vokin@jetbrains.com>
Thu, 15 May 2014 09:54:15 +0000 (13:54 +0400)
committerAndrey Vokin <andrey.vokin@jetbrains.com>
Thu, 15 May 2014 11:23:21 +0000 (15:23 +0400)
platform/core-impl/src/com/intellij/indentation/IndentationParser.java

index 92b51cb2756538b3f60218c954d13642d38addb1..159a34bf7519e193fcd1ce4d6ad8dc20ebf7042f 100644 (file)
@@ -67,7 +67,6 @@ public abstract class IndentationParser implements PsiParser {
   @NotNull
   public final ASTNode parse(final IElementType root, final PsiBuilder builder) {
     final PsiBuilder.Marker fileMarker = builder.mark();
-    final PsiBuilder.Marker documentMarker = builder.mark();
     final ArrayList<PsiBuilder.Marker> containerMarkers = new ArrayList<PsiBuilder.Marker>();
     if (myContainerTypes != null) {
       for (IElementType ignored : myContainerTypes) {
@@ -75,7 +74,7 @@ public abstract class IndentationParser implements PsiParser {
         containerMarkers.add(containerMarker);
       }
     }
-
+    final PsiBuilder.Marker documentMarker = builder.mark();
     while (builder.getTokenType() == myEolTokenType) {
       advanceLexer(builder);
     }
@@ -146,6 +145,8 @@ public abstract class IndentationParser implements PsiParser {
       closeBlock(builder, blockInfo.getMarker(), blockInfo.getStartTokenType());
     }
 
+    documentMarker.done(myDocumentType);
+
     if (myContainerTypes != null) {
       for (int i = containerMarkers.size() - 1; i >= 0; i--) {
         final PsiBuilder.Marker marker = containerMarkers.get(i);
@@ -153,7 +154,6 @@ public abstract class IndentationParser implements PsiParser {
       }
     }
 
-    documentMarker.done(myDocumentType);
     fileMarker.done(root);
     return builder.getTreeBuilt();
   }