AsmLexer(SourceMgr &SrcMgr);
~AsmLexer();
- AsmToken::TokenKind Lex() {
- return CurTok = LexToken(), getKind();
+ const AsmToken &Lex() {
+ return CurTok = LexToken();
}
AsmToken::TokenKind getKind() const { return CurTok.getKind(); }
StringRef IDVal = ID.getString();
// Consume the identifier, see what is after it.
- switch (Lexer.Lex()) {
+ switch (Lexer.Lex().getKind()) {
case AsmToken::Colon: {
// identifier ':' -> Label.
Lexer.Lex();
StringRef Name = Lexer.getTok().getString();
- if (Lexer.Lex() != AsmToken::Comma)
+ if (Lexer.Lex().isNot(AsmToken::Comma))
return TokError("unexpected token in '.set'");
Lexer.Lex();
bool Error = false;
- AsmToken::TokenKind Tok = Lexer.Lex();
- while (Tok != AsmToken::Eof) {
- switch (Tok) {
+ while (Lexer.Lex().isNot(AsmToken::Eof)) {
+ switch (Lexer.getKind()) {
default:
Lexer.PrintMessage(Lexer.getLoc(), "unknown token", "warning");
Error = true;
case AsmToken::Star: outs() << "Star\n"; break;
case AsmToken::Tilde: outs() << "Tilde\n"; break;
}
-
- Tok = Lexer.Lex();
}
return Error;