Add missing newlines at EOF (for clang++).
[oota-llvm.git] / tools / llvm-mc / AsmLexer.h
index 4200137f640afb1e59227aab5f2b4ddc7dfb9e98..ce292f66b127be5b2b051c2a10a743acb3499d60 100644 (file)
@@ -16,7 +16,8 @@
 
 #include "llvm/ADT/StringRef.h"
 #include "llvm/MC/MCAsmLexer.h"
-#include "llvm/Support/DataTypes.h"
+#include "llvm/MC/MCAsmInfo.h"
+#include "llvm/System/DataTypes.h"
 #include <string>
 #include <cassert>
 
@@ -24,10 +25,12 @@ namespace llvm {
 class MemoryBuffer;
 class SourceMgr;
 class SMLoc;
+class MCAsmInfo;
 
 /// AsmLexer - Lexer class for assembly files.
 class AsmLexer : public MCAsmLexer {
   SourceMgr &SrcMgr;
+  const MCAsmInfo &MAI;
   
   const char *CurPtr;
   const MemoryBuffer *CurBuf;
@@ -46,10 +49,14 @@ protected:
   virtual AsmToken LexToken();
 
 public:
-  AsmLexer(SourceMgr &SrcMgr);
+  AsmLexer(SourceMgr &SrcMgr, const MCAsmInfo &MAI);
   ~AsmLexer();
   
   SMLoc getLoc() const;
+  
+  StringRef LexUntilEndOfStatement();
+
+  bool isAtStartOfComment(char Char);
 
   /// EnterIncludeFile - Enter the specified file. This returns true on failure.
   bool EnterIncludeFile(const std::string &Filename);
@@ -61,7 +68,6 @@ private:
   AsmToken ReturnError(const char *Loc, const std::string &Msg);
 
   AsmToken LexIdentifier();
-  AsmToken LexPercent();
   AsmToken LexSlash();
   AsmToken LexLineComment();
   AsmToken LexDigit();