1dbd692a66e6a5f60ec3ff120ed27ae3a918c375fDaniel Dunbar//===-- MCAsmLexer.cpp - Abstract Asm Lexer Interface ---------------------===//
2dbd692a66e6a5f60ec3ff120ed27ae3a918c375fDaniel Dunbar//
3dbd692a66e6a5f60ec3ff120ed27ae3a918c375fDaniel Dunbar//                     The LLVM Compiler Infrastructure
4dbd692a66e6a5f60ec3ff120ed27ae3a918c375fDaniel Dunbar//
5dbd692a66e6a5f60ec3ff120ed27ae3a918c375fDaniel Dunbar// This file is distributed under the University of Illinois Open Source
6dbd692a66e6a5f60ec3ff120ed27ae3a918c375fDaniel Dunbar// License. See LICENSE.TXT for details.
7dbd692a66e6a5f60ec3ff120ed27ae3a918c375fDaniel Dunbar//
8dbd692a66e6a5f60ec3ff120ed27ae3a918c375fDaniel Dunbar//===----------------------------------------------------------------------===//
9dbd692a66e6a5f60ec3ff120ed27ae3a918c375fDaniel Dunbar
10c6ef277a0b8f43af22d86aea9d5053749cacfbbbChris Lattner#include "llvm/MC/MCParser/MCAsmLexer.h"
117b7f51425e1626485f232ca57c135e30b6785be7Daniel Dunbar#include "llvm/Support/SourceMgr.h"
12dbd692a66e6a5f60ec3ff120ed27ae3a918c375fDaniel Dunbar
13dbd692a66e6a5f60ec3ff120ed27ae3a918c375fDaniel Dunbarusing namespace llvm;
14dbd692a66e6a5f60ec3ff120ed27ae3a918c375fDaniel Dunbar
157b6f2034ac355bd3b3cc88960bf8d0e694fe3db4Preston GurdMCAsmLexer::MCAsmLexer() : CurTok(AsmToken::Error, StringRef()),
16dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines                           TokStart(nullptr), SkipSpace(true) {
17dbd692a66e6a5f60ec3ff120ed27ae3a918c375fDaniel Dunbar}
18dbd692a66e6a5f60ec3ff120ed27ae3a918c375fDaniel Dunbar
19dbd692a66e6a5f60ec3ff120ed27ae3a918c375fDaniel DunbarMCAsmLexer::~MCAsmLexer() {
20dbd692a66e6a5f60ec3ff120ed27ae3a918c375fDaniel Dunbar}
217b7f51425e1626485f232ca57c135e30b6785be7Daniel Dunbar
22ca90dc6d295f7f6a5ef4240f26bcebe54276def5Daniel DunbarSMLoc MCAsmLexer::getLoc() const {
23ca90dc6d295f7f6a5ef4240f26bcebe54276def5Daniel Dunbar  return SMLoc::getFromPointer(TokStart);
24ca90dc6d295f7f6a5ef4240f26bcebe54276def5Daniel Dunbar}
25ca90dc6d295f7f6a5ef4240f26bcebe54276def5Daniel Dunbar
267b7f51425e1626485f232ca57c135e30b6785be7Daniel DunbarSMLoc AsmToken::getLoc() const {
277b7f51425e1626485f232ca57c135e30b6785be7Daniel Dunbar  return SMLoc::getFromPointer(Str.data());
287b7f51425e1626485f232ca57c135e30b6785be7Daniel Dunbar}
295efabcf01d1c9cdf7ac59a17d757c6ad4cdb112cBenjamin Kramer
305efabcf01d1c9cdf7ac59a17d757c6ad4cdb112cBenjamin KramerSMLoc AsmToken::getEndLoc() const {
313ebe59c892051375623fea55e977ff559fdb3323Jordan Rose  return SMLoc::getFromPointer(Str.data() + Str.size());
325efabcf01d1c9cdf7ac59a17d757c6ad4cdb112cBenjamin Kramer}
33