LLVM 20.0.0git
|
Target independent representation for an assembler token. More...
#include "llvm/MC/MCAsmMacro.h"
Public Types | |
enum | TokenKind { Eof , Error , Identifier , String , Integer , BigNum , Real , Comment , HashDirective , EndOfStatement , Colon , Space , Plus , Minus , Tilde , Slash , BackSlash , LParen , RParen , LBrac , RBrac , LCurly , RCurly , Question , Star , Dot , Comma , Dollar , Equal , EqualEqual , Pipe , PipePipe , Caret , Amp , AmpAmp , Exclaim , ExclaimEqual , Percent , Hash , Less , LessEqual , LessLess , LessGreater , Greater , GreaterEqual , GreaterGreater , At , MinusGreater , PercentCall16 , PercentCall_Hi , PercentCall_Lo , PercentDtprel_Hi , PercentDtprel_Lo , PercentGot , PercentGot_Disp , PercentGot_Hi , PercentGot_Lo , PercentGot_Ofst , PercentGot_Page , PercentGottprel , PercentGp_Rel , PercentHi , PercentHigher , PercentHighest , PercentLo , PercentNeg , PercentPcrel_Hi , PercentPcrel_Lo , PercentTlsgd , PercentTlsldm , PercentTprel_Hi , PercentTprel_Lo } |
Public Member Functions | |
AsmToken ()=default | |
AsmToken (TokenKind Kind, StringRef Str, APInt IntVal) | |
AsmToken (TokenKind Kind, StringRef Str, int64_t IntVal=0) | |
TokenKind | getKind () const |
bool | is (TokenKind K) const |
bool | isNot (TokenKind K) const |
SMLoc | getLoc () const |
SMLoc | getEndLoc () const |
SMRange | getLocRange () const |
StringRef | getStringContents () const |
Get the contents of a string token (without quotes). | |
StringRef | getIdentifier () const |
Get the identifier string for the current token, which should be an identifier or a string. | |
StringRef | getString () const |
Get the string for the current token, this includes all characters (for example, the quotes on strings) in the token. | |
int64_t | getIntVal () const |
APInt | getAPIntVal () const |
void | dump (raw_ostream &OS) const |
Target independent representation for an assembler token.
Definition at line 21 of file MCAsmMacro.h.
Definition at line 23 of file MCAsmMacro.h.
|
default |
Definition at line 76 of file MCAsmMacro.h.
Definition at line 78 of file MCAsmMacro.h.
void AsmToken::dump | ( | raw_ostream & | OS | ) | const |
Definition at line 38 of file MCAsmLexer.cpp.
References Amp, AmpAmp, At, BackSlash, BigNum, Caret, Colon, Comma, Comment, Dollar, Dot, EndOfStatement, Eof, Equal, EqualEqual, Error, Exclaim, ExclaimEqual, getString(), Greater, GreaterEqual, GreaterGreater, Hash, HashDirective, Identifier, Integer, LBrac, LCurly, Less, LessEqual, LessGreater, LessLess, LParen, Minus, MinusGreater, OS, Percent, PercentCall16, PercentCall_Hi, PercentCall_Lo, PercentDtprel_Hi, PercentDtprel_Lo, PercentGot, PercentGot_Disp, PercentGot_Hi, PercentGot_Lo, PercentGot_Ofst, PercentGot_Page, PercentGottprel, PercentGp_Rel, PercentHi, PercentHigher, PercentHighest, PercentLo, PercentNeg, PercentPcrel_Hi, PercentPcrel_Lo, PercentTlsgd, PercentTlsldm, PercentTprel_Hi, PercentTprel_Lo, Pipe, PipePipe, Plus, Question, RBrac, RCurly, Real, RParen, Slash, Space, Star, String, Tilde, and llvm::raw_ostream::write_escaped().
|
inline |
Definition at line 120 of file MCAsmMacro.h.
SMLoc AsmToken::getEndLoc | ( | ) | const |
Definition at line 30 of file MCAsmLexer.cpp.
References llvm::StringRef::data(), llvm::SMLoc::getFromPointer(), and llvm::StringRef::size().
Referenced by getLocRange().
|
inline |
Get the identifier string for the current token, which should be an identifier or a string.
This gets the portion of the string which should be used as the identifier, e.g., it does not include the quotes on strings.
Definition at line 99 of file MCAsmMacro.h.
References getString(), getStringContents(), and Identifier.
Referenced by isSDKVersionToken().
|
inline |
Definition at line 115 of file MCAsmMacro.h.
References assert(), and Integer.
Referenced by llvm::MCAsmParser::parseGNUAttribute(), and llvm::MCAsmParser::parseIntToken().
|
inline |
Definition at line 81 of file MCAsmMacro.h.
Referenced by llvm::MCAsmLexer::getKind(), and llvm::MCAsmParser::parseOptionalToken().
SMLoc AsmToken::getLoc | ( | ) | const |
Definition at line 26 of file MCAsmLexer.cpp.
References llvm::StringRef::data(), and llvm::SMLoc::getFromPointer().
Referenced by getLocRange(), llvm::MCParserUtils::parseAssignmentExpression(), llvm::MCTargetAsmParser::parseDirective(), llvm::MCAsmParser::parseGNUAttribute(), llvm::MCTargetAsmParser::parseInstruction(), and llvm::MCAsmParser::parseTokenLoc().
SMRange AsmToken::getLocRange | ( | ) | const |
Definition at line 34 of file MCAsmLexer.cpp.
References getEndLoc(), and getLoc().
|
inline |
Get the string for the current token, this includes all characters (for example, the quotes on strings) in the token.
The returned StringRef points into the source manager's memory buffer, and is safe to store across calls to Lex().
Definition at line 110 of file MCAsmMacro.h.
Referenced by dump(), and getIdentifier().
|
inline |
Get the contents of a string token (without quotes).
Definition at line 90 of file MCAsmMacro.h.
References assert(), and String.
Referenced by getIdentifier().
Definition at line 82 of file MCAsmMacro.h.
Referenced by llvm::MCAsmLexer::is(), isSDKVersionToken(), and llvm::AsmLexer::peekTokens().
Definition at line 83 of file MCAsmMacro.h.
Referenced by llvm::MCAsmLexer::isNot(), and llvm::MCAsmParser::parseGNUAttribute().