Introduced utility method closeDeclarationWithCommentBinders
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user