blob: 8f845ee1d76fa934ed5aedef86811f8278deac13 [file] [log] [blame]
Eugene Zelenko4b6ff6b2017-02-10 01:33:54 +00001//===- MCAsmLexer.cpp - Abstract Asm Lexer Interface ----------------------===//
Daniel Dunbar2b11c7d2009-07-20 20:01:54 +00002//
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 Lattner00646cf2010-01-22 01:44:57 +000010#include "llvm/MC/MCParser/MCAsmLexer.h"
Chandler Carruth6bda14b2017-06-06 11:49:48 +000011#include "llvm/ADT/StringRef.h"
Eugene Zelenko4b6ff6b2017-02-10 01:33:54 +000012#include "llvm/Support/SMLoc.h"
Daniel Dunbar2b11c7d2009-07-20 20:01:54 +000013
14using namespace llvm;
15
Michael Zuckerman56704612017-05-01 13:20:12 +000016MCAsmLexer::MCAsmLexer() : AltMacroMode(false) {
Nirav Dave1180e6892016-06-02 17:15:05 +000017 CurTok.emplace_back(AsmToken::Space, StringRef());
Daniel Dunbar2b11c7d2009-07-20 20:01:54 +000018}
19
Eugene Zelenko4b6ff6b2017-02-10 01:33:54 +000020MCAsmLexer::~MCAsmLexer() = default;
Daniel Dunbarcbf4faf2009-08-14 02:18:40 +000021
Daniel Dunbar4042c332010-07-12 17:10:00 +000022SMLoc MCAsmLexer::getLoc() const {
23 return SMLoc::getFromPointer(TokStart);
24}
25
Daniel Dunbarcbf4faf2009-08-14 02:18:40 +000026SMLoc AsmToken::getLoc() const {
27 return SMLoc::getFromPointer(Str.data());
28}
Benjamin Kramer1930b002011-10-16 12:10:27 +000029
30SMLoc AsmToken::getEndLoc() const {
Jordan Rosee8f1eae2013-01-07 19:00:49 +000031 return SMLoc::getFromPointer(Str.data() + Str.size());
Benjamin Kramer1930b002011-10-16 12:10:27 +000032}
Daniel Sandersef638fe2014-10-03 15:37:37 +000033
34SMRange AsmToken::getLocRange() const {
35 return SMRange(getLoc(), getEndLoc());
36}