[Syntax] Get rid of fullLex

Defer (Token, Trivia) -> RawTokenSyntax conversion from Lexer to Parser.
This is a part of effort for consolidating Syntax and AST parsing.
This commit is contained in:
Rintaro Ishizaki
2017-11-15 13:51:13 +09:00
parent 3f72b03a10
commit 40b195d98c
5 changed files with 35 additions and 25 deletions

View File

@@ -74,6 +74,18 @@ static RawSyntaxInfo createSyntaxAs(ArrayRef<RawSyntaxInfo> Parts,
}
} // End of anonymous namespace
RawSyntaxInfo::RawSyntaxInfo(Token Tok, Trivia LeadingTrivia,
Trivia TrailingTrivia) {
if (Tok.isEscapedIdentifier()) {
LeadingTrivia.push_back(TriviaPiece::backtick());
TrailingTrivia.push_front(TriviaPiece::backtick());
}
SyntaxRange = Tok.getLoc();
RawNode = RawTokenSyntax::make(Tok.getKind(), Tok.getText(),
SourcePresence::Present, LeadingTrivia,
TrailingTrivia);
}
struct SyntaxParsingContext::ContextInfo {
bool Enabled;
private: