LLVM: include/llvm/MC/MCParser/MCAsmParserExtension.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9#ifndef LLVM_MC_MCPARSER_MCASMPARSEREXTENSION_H

10#define LLVM_MC_MCPARSER_MCASMPARSEREXTENSION_H

11

17

18namespace llvm {

19

21

22

23

24

27

28protected:

30

31

32 template<typename T, bool (T::*Handler)(StringRef, SMLoc)>

35 SMLoc DirectiveLoc) {

36 T *Obj = static_cast<T*>(Target);

37 return (Obj->*Handler)(Directive, DirectiveLoc);

38 }

39

41

42public:

46

47

48

49

51

52

53

54

56

61

66

69

73

77

81

85

89 const Twine &Msg = "unexpected token") {

90 return getParser().parseToken(T, Msg);

91 }

93

95 return getParser().parseMany(parseOne, hasComma);

96 }

97

99 return getParser().parseOptionalToken(T);

100 }

101

103

104 bool maybeParseUniqueID(int64_t &UniqueID);

105

109

113

115 return getParser().addErrorSuffix(Suffix);

116 }

117

119

120

121};

122

130

131}

132

133#endif

ConstantRange Range(APInt(BitWidth, Low), APInt(BitWidth, High))

Target independent representation for an assembler token.

SourceMgr & getSourceManager()

Definition MCAsmParserExtension.h:67

const MCAsmParser & getParser() const

Definition MCAsmParserExtension.h:63

bool parseOptionalToken(AsmToken::TokenKind T)

Definition MCAsmParserExtension.h:98

static bool HandleDirective(MCAsmParserExtension *Target, StringRef Directive, SMLoc DirectiveLoc)

Definition MCAsmParserExtension.h:33

bool parseEOL()

Definition MCAsmParserExtension.h:92

virtual ~MCAsmParserExtension()

const AsmToken & Lex()

Definition MCAsmParserExtension.h:86

bool addErrorSuffix(const Twine &Suffix)

Definition MCAsmParserExtension.h:114

const AsmToken & getTok()

Definition MCAsmParserExtension.h:87

MCAsmParserExtension & operator=(const MCAsmParserExtension &)=delete

bool parseMany(function_ref< bool()> parseOne, bool hasComma=true)

Definition MCAsmParserExtension.h:94

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

Definition MCAsmParserExtension.h:88

MCAsmParserExtension(const MCAsmParserExtension &)=delete

bool Warning(SMLoc L, const Twine &Msg)

Definition MCAsmParserExtension.h:70

virtual void Initialize(MCAsmParser &Parser)

Initialize the extension for parsing using the given Parser.

bool HasBracketExpressions() const

Definition MCAsmParserExtension.h:118

bool TokError(const Twine &Msg)

Definition MCAsmParserExtension.h:82

bool check(bool P, const Twine &Msg)

Definition MCAsmParserExtension.h:106

MCContext & getContext()

Definition MCAsmParserExtension.h:55

void Note(SMLoc L, const Twine &Msg)

Definition MCAsmParserExtension.h:78

AsmLexer & getLexer()

Definition MCAsmParserExtension.h:57

bool Error(SMLoc L, const Twine &Msg, SMRange Range=SMRange())

Definition MCAsmParserExtension.h:74

bool check(bool P, SMLoc Loc, const Twine &Msg)

Definition MCAsmParserExtension.h:110

bool BracketExpressionsSupported

Definition MCAsmParserExtension.h:40

MCStreamer & getStreamer()

Definition MCAsmParserExtension.h:68

MCAsmParser & getParser()

Definition MCAsmParserExtension.h:62

const AsmLexer & getLexer() const

Definition MCAsmParserExtension.h:58

Generic assembler parser interface, for use by target specific assembly parsers.

Context object for machine code objects.

Streaming machine code generation interface.

Represents a location in source code.

Represents a range in source code.

This owns the files read by a parser, handles include stacks, and handles diagnostic wrangling.

StringRef - Represent a constant reference to a string, i.e.

Target - Wrapper for Target specific information.

Twine - A lightweight data structure for efficiently representing the concatenation of temporary valu...

An efficient, type-erasing, non-owning reference to a callable.

This is an optimization pass for GlobalISel generic memory operations.

MCAsmParserExtension * createCOFFAsmParser()

MCAsmParserExtension * createXCOFFAsmParser()

MCAsmParserExtension * createGOFFAsmParser()

MCAsmParserExtension * createCOFFMasmParser()

MCAsmParserExtension * createWasmAsmParser()

MCAsmParserExtension * createELFAsmParser()

MCAsmParserExtension * createDarwinAsmParser()