795cc85ef5477fd39acb09929a60defb825c6131
[oota-llvm.git] / lib / MC / MCParser / MCAsmLexer.cpp
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
10 #include "llvm/MC/MCParser/MCAsmLexer.h"
11 #include "llvm/Support/SourceMgr.h"
12
13 using namespace llvm;
14
15 MCAsmLexer::MCAsmLexer() : CurTok(AsmToken::Error, StringRef()),
16                            TokStart(nullptr), SkipSpace(true) {
17 }
18
19 MCAsmLexer::~MCAsmLexer() {
20 }
21
22 SMLoc MCAsmLexer::getLoc() const {
23   return SMLoc::getFromPointer(TokStart);
24 }
25
26 SMLoc AsmToken::getLoc() const {
27   return SMLoc::getFromPointer(Str.data());
28 }
29
30 SMLoc AsmToken::getEndLoc() const {
31   return SMLoc::getFromPointer(Str.data() + Str.size());
32 }
33
34 SMRange AsmToken::getLocRange() const {
35   return SMRange(getLoc(), getEndLoc());
36 }