LLVM 23.0.0git
llvm::MCAsmParserExtension Class Reference

Generic interface for extending the MCAsmParser, which is implemented by target and object file assembly parser implementations. More...

#include "llvm/MC/MCParser/MCAsmParserExtension.h"

Inheritance diagram for llvm::MCAsmParserExtension:
[legend]

Public Member Functions

 MCAsmParserExtension (const MCAsmParserExtension &)=delete
MCAsmParserExtensionoperator= (const MCAsmParserExtension &)=delete
virtual ~MCAsmParserExtension ()
virtual void Initialize (MCAsmParser &Parser)
 Initialize the extension for parsing using the given Parser.
MCAsmParser Proxy Interfaces
MCContextgetContext ()
AsmLexergetLexer ()
const AsmLexergetLexer () const
MCAsmParsergetParser ()
const MCAsmParsergetParser () const
SourceMgrgetSourceManager ()
MCStreamergetStreamer ()
bool Warning (SMLoc L, const Twine &Msg)
bool Error (SMLoc L, const Twine &Msg, SMRange Range=SMRange())
void Note (SMLoc L, const Twine &Msg)
bool TokError (const Twine &Msg)
const AsmTokenLex ()
const AsmTokengetTok ()
bool parseToken (AsmToken::TokenKind T, const Twine &Msg="unexpected token")
bool parseEOL ()
bool parseMany (function_ref< bool()> parseOne, bool hasComma=true)
bool parseOptionalToken (AsmToken::TokenKind T)
bool parseDirectiveCGProfile (StringRef, SMLoc)
 parseDirectiveCGProfile ::= .cg_profile identifier, identifier, <number>
bool maybeParseUniqueID (int64_t &UniqueID)
bool check (bool P, const Twine &Msg)
bool check (bool P, SMLoc Loc, const Twine &Msg)
bool addErrorSuffix (const Twine &Suffix)
bool HasBracketExpressions () const

Protected Member Functions

 MCAsmParserExtension ()

Static Protected Member Functions

template<typename T, bool(T::*)(StringRef, SMLoc) Handler>
static bool HandleDirective (MCAsmParserExtension *Target, StringRef Directive, SMLoc DirectiveLoc)

Protected Attributes

bool BracketExpressionsSupported = false

Detailed Description

Generic interface for extending the MCAsmParser, which is implemented by target and object file assembly parser implementations.

Definition at line 26 of file MCAsmParserExtension.h.

Constructor & Destructor Documentation

◆ MCAsmParserExtension() [1/2]

MCAsmParserExtension::MCAsmParserExtension ( )
protecteddefault

◆ MCAsmParserExtension() [2/2]

llvm::MCAsmParserExtension::MCAsmParserExtension ( const MCAsmParserExtension & )
delete

◆ ~MCAsmParserExtension()

MCAsmParserExtension::~MCAsmParserExtension ( )
virtualdefault

References Initialize().

Member Function Documentation

◆ addErrorSuffix()

bool llvm::MCAsmParserExtension::addErrorSuffix ( const Twine & Suffix)
inline

Definition at line 115 of file MCAsmParserExtension.h.

References getParser().

◆ check() [1/2]

bool llvm::MCAsmParserExtension::check ( bool P,
const Twine & Msg )
inline

Definition at line 107 of file MCAsmParserExtension.h.

References getParser(), and P.

◆ check() [2/2]

bool llvm::MCAsmParserExtension::check ( bool P,
SMLoc Loc,
const Twine & Msg )
inline

Definition at line 111 of file MCAsmParserExtension.h.

References getParser(), and P.

◆ Error()

bool llvm::MCAsmParserExtension::Error ( SMLoc L,
const Twine & Msg,
SMRange Range = SMRange() )
inline

Definition at line 75 of file MCAsmParserExtension.h.

References getParser(), and Range.

◆ getContext()

MCContext & llvm::MCAsmParserExtension::getContext ( )
inline

◆ getLexer() [1/2]

AsmLexer & llvm::MCAsmParserExtension::getLexer ( )
inline

◆ getLexer() [2/2]

const AsmLexer & llvm::MCAsmParserExtension::getLexer ( ) const
inline

Definition at line 59 of file MCAsmParserExtension.h.

References getLexer(), and MCAsmParserExtension().

◆ getParser() [1/2]

◆ getParser() [2/2]

const MCAsmParser & llvm::MCAsmParserExtension::getParser ( ) const
inline

Definition at line 64 of file MCAsmParserExtension.h.

References getParser(), and MCAsmParserExtension().

◆ getSourceManager()

SourceMgr & llvm::MCAsmParserExtension::getSourceManager ( )
inline

Definition at line 68 of file MCAsmParserExtension.h.

References getParser().

◆ getStreamer()

MCStreamer & llvm::MCAsmParserExtension::getStreamer ( )
inline

Definition at line 69 of file MCAsmParserExtension.h.

References getParser().

Referenced by llvm::MCTargetAsmParser::copySTI(), and parseDirectiveCGProfile().

◆ getTok()

const AsmToken & llvm::MCAsmParserExtension::getTok ( )
inline

Definition at line 88 of file MCAsmParserExtension.h.

References getParser().

Referenced by llvm::MCTargetAsmParser::parseDirective().

◆ HandleDirective()

template<typename T, bool(T::*)(StringRef, SMLoc) Handler>
bool llvm::MCAsmParserExtension::HandleDirective ( MCAsmParserExtension * Target,
StringRef Directive,
SMLoc DirectiveLoc )
inlinestaticprotected

Definition at line 34 of file MCAsmParserExtension.h.

References MCAsmParserExtension(), and T.

◆ HasBracketExpressions()

bool llvm::MCAsmParserExtension::HasBracketExpressions ( ) const
inline

Definition at line 119 of file MCAsmParserExtension.h.

References BracketExpressionsSupported.

◆ Initialize()

void MCAsmParserExtension::Initialize ( MCAsmParser & Parser)
virtual

Initialize the extension for parsing using the given Parser.

The extension should use the AsmParser interfaces to register its parsing routines.

Reimplemented in LFIAsmParser.

Definition at line 21 of file MCAsmParserExtension.cpp.

Referenced by LFIAsmParser::Initialize(), and ~MCAsmParserExtension().

◆ Lex()

const AsmToken & llvm::MCAsmParserExtension::Lex ( )
inline

◆ maybeParseUniqueID()

bool MCAsmParserExtension::maybeParseUniqueID ( int64_t & UniqueID)

◆ Note()

void llvm::MCAsmParserExtension::Note ( SMLoc L,
const Twine & Msg )
inline

Definition at line 79 of file MCAsmParserExtension.h.

References getParser().

◆ operator=()

MCAsmParserExtension & llvm::MCAsmParserExtension::operator= ( const MCAsmParserExtension & )
delete

◆ parseDirectiveCGProfile()

bool MCAsmParserExtension::parseDirectiveCGProfile ( StringRef ,
SMLoc  )

◆ parseEOL()

bool llvm::MCAsmParserExtension::parseEOL ( )
inline

Definition at line 93 of file MCAsmParserExtension.h.

References getParser().

◆ parseMany()

bool llvm::MCAsmParserExtension::parseMany ( function_ref< bool()> parseOne,
bool hasComma = true )
inline

Definition at line 95 of file MCAsmParserExtension.h.

References getParser().

◆ parseOptionalToken()

bool llvm::MCAsmParserExtension::parseOptionalToken ( AsmToken::TokenKind T)
inline

Definition at line 99 of file MCAsmParserExtension.h.

References getParser(), and T.

◆ parseToken()

bool llvm::MCAsmParserExtension::parseToken ( AsmToken::TokenKind T,
const Twine & Msg = "unexpected token" )
inline

Definition at line 89 of file MCAsmParserExtension.h.

References getParser(), and T.

◆ TokError()

bool llvm::MCAsmParserExtension::TokError ( const Twine & Msg)
inline

◆ Warning()

bool llvm::MCAsmParserExtension::Warning ( SMLoc L,
const Twine & Msg )
inline

Definition at line 71 of file MCAsmParserExtension.h.

References getParser().

Member Data Documentation

◆ BracketExpressionsSupported

bool llvm::MCAsmParserExtension::BracketExpressionsSupported = false
protected

Definition at line 41 of file MCAsmParserExtension.h.

Referenced by HasBracketExpressions().


The documentation for this class was generated from the following files: