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