mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
[Lexer] Push trivia piece lexing down to SyntaxParseActions
The SyntaxParseActions can decide how to handle the raw trivia, either lex them into pieces or store them raw to be lexed when needed.
This commit is contained in:
@@ -154,13 +154,15 @@ private:
|
||||
node.present = true;
|
||||
}
|
||||
|
||||
OpaqueSyntaxNode recordToken(tok tokenKind,
|
||||
ArrayRef<ParsedTriviaPiece> leadingTrivia,
|
||||
ArrayRef<ParsedTriviaPiece> trailingTrivia,
|
||||
OpaqueSyntaxNode recordToken(tok tokenKind, StringRef leadingTrivia,
|
||||
StringRef trailingTrivia,
|
||||
CharSourceRange range) override {
|
||||
auto leadingTriviaPieces = TriviaLexer::lexTrivia(leadingTrivia).Pieces;
|
||||
auto trailingTriviaPieces = TriviaLexer::lexTrivia(trailingTrivia).Pieces;
|
||||
|
||||
SmallVector<CTriviaPiece, 8> c_leadingTrivia, c_trailingTrivia;
|
||||
makeCTrivia(c_leadingTrivia, leadingTrivia);
|
||||
makeCTrivia(c_trailingTrivia, trailingTrivia);
|
||||
makeCTrivia(c_leadingTrivia, leadingTriviaPieces);
|
||||
makeCTrivia(c_trailingTrivia, trailingTriviaPieces);
|
||||
CRawSyntaxNode node;
|
||||
makeCRawToken(node, tokenKind, c_leadingTrivia, c_trailingTrivia,
|
||||
range);
|
||||
|
||||
Reference in New Issue
Block a user