xref: /aosp_15_r20/external/llvm/lib/MC/MCParser/MCAsmLexer.cpp (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker //===-- MCAsmLexer.cpp - Abstract Asm Lexer Interface ---------------------===//
2*9880d681SAndroid Build Coastguard Worker //
3*9880d681SAndroid Build Coastguard Worker //                     The LLVM Compiler Infrastructure
4*9880d681SAndroid Build Coastguard Worker //
5*9880d681SAndroid Build Coastguard Worker // This file is distributed under the University of Illinois Open Source
6*9880d681SAndroid Build Coastguard Worker // License. See LICENSE.TXT for details.
7*9880d681SAndroid Build Coastguard Worker //
8*9880d681SAndroid Build Coastguard Worker //===----------------------------------------------------------------------===//
9*9880d681SAndroid Build Coastguard Worker 
10*9880d681SAndroid Build Coastguard Worker #include "llvm/MC/MCParser/MCAsmLexer.h"
11*9880d681SAndroid Build Coastguard Worker #include "llvm/Support/SourceMgr.h"
12*9880d681SAndroid Build Coastguard Worker 
13*9880d681SAndroid Build Coastguard Worker using namespace llvm;
14*9880d681SAndroid Build Coastguard Worker 
MCAsmLexer()15*9880d681SAndroid Build Coastguard Worker MCAsmLexer::MCAsmLexer() : TokStart(nullptr), SkipSpace(true) {
16*9880d681SAndroid Build Coastguard Worker   CurTok.emplace_back(AsmToken::Space, StringRef());
17*9880d681SAndroid Build Coastguard Worker }
18*9880d681SAndroid Build Coastguard Worker 
~MCAsmLexer()19*9880d681SAndroid Build Coastguard Worker MCAsmLexer::~MCAsmLexer() {
20*9880d681SAndroid Build Coastguard Worker }
21*9880d681SAndroid Build Coastguard Worker 
getLoc() const22*9880d681SAndroid Build Coastguard Worker SMLoc MCAsmLexer::getLoc() const {
23*9880d681SAndroid Build Coastguard Worker   return SMLoc::getFromPointer(TokStart);
24*9880d681SAndroid Build Coastguard Worker }
25*9880d681SAndroid Build Coastguard Worker 
getLoc() const26*9880d681SAndroid Build Coastguard Worker SMLoc AsmToken::getLoc() const {
27*9880d681SAndroid Build Coastguard Worker   return SMLoc::getFromPointer(Str.data());
28*9880d681SAndroid Build Coastguard Worker }
29*9880d681SAndroid Build Coastguard Worker 
getEndLoc() const30*9880d681SAndroid Build Coastguard Worker SMLoc AsmToken::getEndLoc() const {
31*9880d681SAndroid Build Coastguard Worker   return SMLoc::getFromPointer(Str.data() + Str.size());
32*9880d681SAndroid Build Coastguard Worker }
33*9880d681SAndroid Build Coastguard Worker 
getLocRange() const34*9880d681SAndroid Build Coastguard Worker SMRange AsmToken::getLocRange() const {
35*9880d681SAndroid Build Coastguard Worker   return SMRange(getLoc(), getEndLoc());
36*9880d681SAndroid Build Coastguard Worker }
37