Daniel Dunbar | 2b11c7d | 2009-07-20 20:01:54 +0000 | [diff] [blame] | 1 | //===-- MCAsmLexer.cpp - Abstract Asm Lexer Interface ---------------------===// |
| 2 | // |
| 3 | // The LLVM Compiler Infrastructure |
| 4 | // |
| 5 | // This file is distributed under the University of Illinois Open Source |
| 6 | // License. See LICENSE.TXT for details. |
| 7 | // |
| 8 | //===----------------------------------------------------------------------===// |
| 9 | |
Chris Lattner | 00646cf | 2010-01-22 01:44:57 +0000 | [diff] [blame] | 10 | #include "llvm/MC/MCParser/MCAsmLexer.h" |
Daniel Dunbar | cbf4faf | 2009-08-14 02:18:40 +0000 | [diff] [blame] | 11 | #include "llvm/Support/SourceMgr.h" |
Daniel Dunbar | 2b11c7d | 2009-07-20 20:01:54 +0000 | [diff] [blame] | 12 | |
| 13 | using namespace llvm; |
| 14 | |
Nirav Dave | 2364748a | 2016-09-16 18:30:20 +0000 | [diff] [blame] | 15 | MCAsmLexer::MCAsmLexer() |
Oliver Stannard | 68e7c21 | 2016-12-08 10:31:21 +0000 | [diff] [blame] | 16 | : TokStart(nullptr), SkipSpace(true), IsAtStartOfStatement(true), |
| 17 | CommentConsumer(nullptr) { |
Nirav Dave | 1180e689 | 2016-06-02 17:15:05 +0000 | [diff] [blame] | 18 | CurTok.emplace_back(AsmToken::Space, StringRef()); |
Daniel Dunbar | 2b11c7d | 2009-07-20 20:01:54 +0000 | [diff] [blame] | 19 | } |
| 20 | |
| 21 | MCAsmLexer::~MCAsmLexer() { |
| 22 | } |
Daniel Dunbar | cbf4faf | 2009-08-14 02:18:40 +0000 | [diff] [blame] | 23 | |
Daniel Dunbar | 4042c33 | 2010-07-12 17:10:00 +0000 | [diff] [blame] | 24 | SMLoc MCAsmLexer::getLoc() const { |
| 25 | return SMLoc::getFromPointer(TokStart); |
| 26 | } |
| 27 | |
Daniel Dunbar | cbf4faf | 2009-08-14 02:18:40 +0000 | [diff] [blame] | 28 | SMLoc AsmToken::getLoc() const { |
| 29 | return SMLoc::getFromPointer(Str.data()); |
| 30 | } |
Benjamin Kramer | 1930b00 | 2011-10-16 12:10:27 +0000 | [diff] [blame] | 31 | |
| 32 | SMLoc AsmToken::getEndLoc() const { |
Jordan Rose | e8f1eae | 2013-01-07 19:00:49 +0000 | [diff] [blame] | 33 | return SMLoc::getFromPointer(Str.data() + Str.size()); |
Benjamin Kramer | 1930b00 | 2011-10-16 12:10:27 +0000 | [diff] [blame] | 34 | } |
Daniel Sanders | ef638fe | 2014-10-03 15:37:37 +0000 | [diff] [blame] | 35 | |
| 36 | SMRange AsmToken::getLocRange() const { |
| 37 | return SMRange(getLoc(), getEndLoc()); |
| 38 | } |