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 13using namespace llvm; 14 15MCAsmLexer::MCAsmLexer() : TokStart(nullptr), SkipSpace(true) { 16 CurTok.emplace_back(AsmToken::Space, StringRef()); 17} 18 19MCAsmLexer::~MCAsmLexer() { 20} 21 22SMLoc MCAsmLexer::getLoc() const { 23 return SMLoc::getFromPointer(TokStart); 24} 25 26SMLoc AsmToken::getLoc() const { 27 return SMLoc::getFromPointer(Str.data()); 28} 29 30SMLoc AsmToken::getEndLoc() const { 31 return SMLoc::getFromPointer(Str.data() + Str.size()); 32} 33 34SMRange AsmToken::getLocRange() const { 35 return SMRange(getLoc(), getEndLoc()); 36} 37