| 555 | } |
| 556 | |
| 557 | static const char* tokenName(Tok kind) { |
| 558 | switch (kind) { |
| 559 | case Tok::Ident: return "identifier"; |
| 560 | case Tok::Int: return "integer"; |
| 561 | case Tok::LBrace: return "'{'"; |
| 562 | case Tok::RBrace: return "'}'"; |
| 563 | case Tok::LParen: return "'('"; |
| 564 | case Tok::RParen: return "')'"; |
| 565 | case Tok::LBrack: return "'['"; |
| 566 | case Tok::RBrack: return "']'"; |
| 567 | case Tok::Comma: return "','"; |
| 568 | case Tok::Semi: return "';'"; |
| 569 | case Tok::Colon: return "':'"; |
| 570 | case Tok::Scope: return "'::'"; |
| 571 | case Tok::Equal: return "'='"; |
| 572 | case Tok::End: return "end of file"; |
| 573 | } |
| 574 | return "token"; |
| 575 | } |
| 576 | |
| 577 | void ensureUnique(std::unordered_set<std::string>& names, |
| 578 | const std::string& name, |
nothing calls this directly
no outgoing calls
no test coverage detected