mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-10-04 22:02:52 +01:00
Change TokenKind's Print overload to a format_provider. (#2534)
Fundamentally this `.Print()` is wrong for debug output at present because `.fixed_spelling()` can be empty. It's also inconsistent with other enums to use it. We frequently print tokens for debugging, and it's easy to forget to specify `.name()` there. Diagnostics use formatv, so we can provide a format_provider and address it in one spot that way. It also makes it harder to just forget to do the right thing.
This commit is contained in:
@@ -77,8 +77,8 @@ class Parser::PrettyStackTraceParseState : public llvm::PrettyStackTraceEntry {
|
||||
auto line = parser_->tokens_->GetLine(token);
|
||||
output << " @ " << parser_->tokens_->GetLineNumber(line) << ":"
|
||||
<< parser_->tokens_->GetColumnNumber(token) << ":"
|
||||
<< " token " << token << " : "
|
||||
<< parser_->tokens_->GetKind(token).name() << "\n";
|
||||
<< " token " << token << " : " << parser_->tokens_->GetKind(token)
|
||||
<< "\n";
|
||||
}
|
||||
|
||||
const Parser* parser_;
|
||||
@@ -97,7 +97,7 @@ Parser::Parser(ParseTree& tree, TokenizedBuffer& tokens,
|
||||
--end_;
|
||||
CARBON_CHECK(tokens_->GetKind(*end_) == TokenKind::EndOfFile)
|
||||
<< "TokenizedBuffer should end with EndOfFile, ended with "
|
||||
<< tokens_->GetKind(*end_).name();
|
||||
<< tokens_->GetKind(*end_);
|
||||
}
|
||||
|
||||
auto Parser::AddLeafNode(ParseNodeKind kind, TokenizedBuffer::Token token,
|
||||
@@ -164,7 +164,7 @@ auto Parser::ConsumeAndAddLeafNodeIf(TokenKind token_kind,
|
||||
|
||||
auto Parser::ConsumeChecked(TokenKind kind) -> TokenizedBuffer::Token {
|
||||
CARBON_CHECK(PositionIs(kind))
|
||||
<< "Required " << kind.name() << ", found " << PositionKind().name();
|
||||
<< "Required " << kind << ", found " << PositionKind();
|
||||
return Consume();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user