Switch AsmLexer::Lex to returning a reference to the current token.
authorDaniel Dunbar <daniel@zuster.org>
Tue, 28 Jul 2009 16:56:42 +0000 (16:56 +0000)
committerDaniel Dunbar <daniel@zuster.org>
Tue, 28 Jul 2009 16:56:42 +0000 (16:56 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77328 91177308-0d34-0410-b5e6-96231b3b80d8

tools/llvm-mc/AsmLexer.h
tools/llvm-mc/AsmParser.cpp
tools/llvm-mc/llvm-mc.cpp

index 3bedc6e8e77f4c72190484e2afa5a721dd986859..2918e43b6e45e8214a39ff1f9888e211ab87d582 100644 (file)
@@ -110,8 +110,8 @@ public:
   AsmLexer(SourceMgr &SrcMgr);
   ~AsmLexer();
   
-  AsmToken::TokenKind Lex() {
-    return CurTok = LexToken(), getKind();
+  const AsmToken &Lex() {
+    return CurTok = LexToken();
   }
   
   AsmToken::TokenKind getKind() const { return CurTok.getKind(); }
index 602d696ac794f7eecfe112a46d30a5cc817819df..e4c85a791424bbcee430016a21435cc2359ae213 100644 (file)
@@ -318,7 +318,7 @@ bool AsmParser::ParseStatement() {
   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();
@@ -609,7 +609,7 @@ bool AsmParser::ParseDirectiveSet() {
 
   StringRef Name = Lexer.getTok().getString();
   
-  if (Lexer.Lex() != AsmToken::Comma)
+  if (Lexer.Lex().isNot(AsmToken::Comma))
     return TokError("unexpected token in '.set'");
   Lexer.Lex();
 
index 63cb70d5049e194feb3f68bf770e75e843271a02..a64c8a650524ac9fb646c4abd8d5aa36e258734a 100644 (file)
@@ -83,9 +83,8 @@ static int AsLexInput(const char *ProgName) {
   
   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;
@@ -136,8 +135,6 @@ static int AsLexInput(const char *ProgName) {
     case AsmToken::Star:           outs() << "Star\n"; break;
     case AsmToken::Tilde:          outs() << "Tilde\n"; break;
     }
-    
-    Tok = Lexer.Lex();
   }
   
   return Error;