Introduced utility method closeDeclarationWithCommentBinders

This commit is contained in:
Valentin Kipyatkov
2014-10-30 14:57:05 +03:00
parent 2a1e575f80
commit 6915255d2f
2 changed files with 10 additions and 11 deletions
@@ -20,6 +20,7 @@ import com.intellij.lang.PsiBuilder;
import com.intellij.psi.tree.IElementType;
import com.intellij.psi.tree.TokenSet;
import com.intellij.util.containers.Stack;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.jet.lexer.JetKeywordToken;
import org.jetbrains.jet.lexer.JetToken;
import org.jetbrains.jet.lexer.JetTokens;
@@ -377,6 +378,11 @@ import static org.jetbrains.jet.lexer.JetTokens.*;
return myBuilder.newlineBeforeCurrentToken() || eof();
}
protected static void closeDeclarationWithCommentBinders(@NotNull PsiBuilder.Marker marker, @NotNull IElementType elementType) {
marker.done(elementType);
marker.setCustomEdgeTokenBinders(PrecedingWhitespacesAndCommentsBinder.INSTANCE$, TrailingWhitespacesAndCommentsBinder.INSTANCE$);
}
protected abstract JetParsing create(SemanticWhitespaceAwarePsiBuilder builder);
protected JetParsing createTruncatedBuilder(int eofPosition) {
@@ -385,8 +385,7 @@ public class JetParsing extends AbstractJetParsing {
decl.drop();
}
else {
decl.done(declType);
decl.setCustomEdgeTokenBinders(PrecedingWhitespacesAndCommentsBinder.INSTANCE$, TrailingWhitespacesAndCommentsBinder.INSTANCE$);
closeDeclarationWithCommentBinders(decl, declType);
}
}
@@ -686,9 +685,7 @@ public class JetParsing extends AbstractJetParsing {
entryOrMember.drop();
}
else {
entryOrMember.done(type);
entryOrMember.setCustomEdgeTokenBinders(PrecedingWhitespacesAndCommentsBinder.INSTANCE$,
TrailingWhitespacesAndCommentsBinder.INSTANCE$);
closeDeclarationWithCommentBinders(entryOrMember, type);
}
}
@@ -778,8 +775,7 @@ public class JetParsing extends AbstractJetParsing {
decl.drop();
}
else {
decl.done(declType);
decl.setCustomEdgeTokenBinders(PrecedingWhitespacesAndCommentsBinder.INSTANCE$, TrailingWhitespacesAndCommentsBinder.INSTANCE$);
closeDeclarationWithCommentBinders(decl, declType);
}
}
@@ -877,10 +873,7 @@ public class JetParsing extends AbstractJetParsing {
PsiBuilder.Marker objectDeclaration = mark();
parseObject(false, true);
objectDeclaration.done(OBJECT_DECLARATION);
objectDeclaration.setCustomEdgeTokenBinders(PrecedingWhitespacesAndCommentsBinder.INSTANCE$,
TrailingWhitespacesAndCommentsBinder.INSTANCE$);
closeDeclarationWithCommentBinders(objectDeclaration, OBJECT_DECLARATION);
return CLASS_OBJECT;
}