struct YAMLRemarkParser
Declaration
struct YAMLRemarkParser : public RemarkParser { /* full declaration omitted */ };
Description
Regular YAML to Remark parser.
Declared at: llvm/lib/Remarks/YAMLRemarkParser.h:50
Inherits from: RemarkParser
Member Variables
- public Optional<llvm::remarks::ParsedStringTable> StrTab
- The string table used for parsing strings.
- public std::string LastErrorMessage
- Last error message that can come from the YAML parser diagnostics. We need this for catching errors in the constructor.
- public llvm::SourceMgr SM
- Source manager for better error messages.
- public yaml::Stream Stream
- Stream for yaml parsing.
- public yaml::document_iterator YAMLIt
- Iterator in the YAML stream.
- public std::unique_ptr<MemoryBuffer> SeparateBuf
- If we parse remark metadata in separate mode, we need to open a new file and parse that.
Inherited from RemarkParser:
Method Overview
- public YAMLRemarkParser(llvm::StringRef Buf)
- protected YAMLRemarkParser(llvm::StringRef Buf, Optional<llvm::remarks::ParsedStringTable> StrTab)
- public static bool classof(const llvm::remarks::RemarkParser * P)
- protected llvm::Error error()
- protected llvm::Error error(llvm::StringRef Message, yaml::Node & Node)
- public Expected<std::unique_ptr<Remark>> next()
- protected Expected<llvm::remarks::Argument> parseArg(yaml::Node & Node)
- protected Expected<llvm::remarks::RemarkLocation> parseDebugLoc(yaml::KeyValueNode & Node)
- protected Expected<llvm::StringRef> parseKey(yaml::KeyValueNode & Node)
- protected Expected<std::unique_ptr<Remark>> parseRemark(yaml::Document & Remark)
- protected virtual Expected<llvm::StringRef> parseStr(yaml::KeyValueNode & Node)
- protected Expected<llvm::remarks::Type> parseType(yaml::MappingNode & Node)
- protected Expected<unsigned int> parseUnsigned(yaml::KeyValueNode & Node)
Inherited from RemarkParser:
Methods
¶YAMLRemarkParser(llvm::StringRef Buf)
YAMLRemarkParser(llvm::StringRef Buf)
Declared at: llvm/lib/Remarks/YAMLRemarkParser.h:66
Parameters
- llvm::StringRef Buf
¶YAMLRemarkParser(
llvm::StringRef Buf,
Optional<llvm::remarks::ParsedStringTable>
StrTab)
YAMLRemarkParser(
llvm::StringRef Buf,
Optional<llvm::remarks::ParsedStringTable>
StrTab)
Declared at: llvm/lib/Remarks/YAMLRemarkParser.h:75
Parameters
- llvm::StringRef Buf
- Optional<llvm::remarks::ParsedStringTable> StrTab
¶static bool classof(
const llvm::remarks::RemarkParser* P)
static bool classof(
const llvm::remarks::RemarkParser* P)
Declared at: llvm/lib/Remarks/YAMLRemarkParser.h:70
Parameters
- const llvm::remarks::RemarkParser* P
¶llvm::Error error()
llvm::Error error()
Description
Create a YAMLParseError error from an existing error generated by the YAML parser. If there is no error, this returns Success.
Declared at: llvm/lib/Remarks/YAMLRemarkParser.h:79
¶llvm::Error error(llvm::StringRef Message,
yaml::Node& Node)
llvm::Error error(llvm::StringRef Message,
yaml::Node& Node)
Description
Create a YAMLParseError error referencing a specific node.
Declared at: llvm/lib/Remarks/YAMLRemarkParser.h:81
Parameters
- llvm::StringRef Message
- yaml::Node& Node
¶Expected<std::unique_ptr<Remark>> next()
Expected<std::unique_ptr<Remark>> next()
Description
If no error occurs, this returns a valid Remark object. If an error of type EndOfFileError occurs, it is safe to recover from it by stopping the parsing. If any other error occurs, it should be propagated to the user. The pointer should never be null.
Declared at: llvm/lib/Remarks/YAMLRemarkParser.h:68
¶Expected<llvm::remarks::Argument> parseArg(
yaml::Node& Node)
Expected<llvm::remarks::Argument> parseArg(
yaml::Node& Node)
Description
Parse an argument.
Declared at: llvm/lib/Remarks/YAMLRemarkParser.h:95
Parameters
- yaml::Node& Node
¶Expected<llvm::remarks::RemarkLocation>
parseDebugLoc(yaml::KeyValueNode& Node)
Expected<llvm::remarks::RemarkLocation>
parseDebugLoc(yaml::KeyValueNode& Node)
Description
Parse a debug location.
Declared at: llvm/lib/Remarks/YAMLRemarkParser.h:93
Parameters
- yaml::KeyValueNode& Node
¶Expected<llvm::StringRef> parseKey(
yaml::KeyValueNode& Node)
Expected<llvm::StringRef> parseKey(
yaml::KeyValueNode& Node)
Description
Parse one key to a string.
Declared at: llvm/lib/Remarks/YAMLRemarkParser.h:87
Parameters
- yaml::KeyValueNode& Node
¶Expected<std::unique_ptr<Remark>> parseRemark(
yaml::Document& Remark)
Expected<std::unique_ptr<Remark>> parseRemark(
yaml::Document& Remark)
Description
Parse a YAML remark to a remarks::Remark object.
Declared at: llvm/lib/Remarks/YAMLRemarkParser.h:83
Parameters
- yaml::Document& Remark
¶virtual Expected<llvm::StringRef> parseStr(
yaml::KeyValueNode& Node)
virtual Expected<llvm::StringRef> parseStr(
yaml::KeyValueNode& Node)
Description
Parse one value to a string.
Declared at: llvm/lib/Remarks/YAMLRemarkParser.h:89
Parameters
- yaml::KeyValueNode& Node
¶Expected<llvm::remarks::Type> parseType(
yaml::MappingNode& Node)
Expected<llvm::remarks::Type> parseType(
yaml::MappingNode& Node)
Description
Parse the type of a remark to an enum type.
Declared at: llvm/lib/Remarks/YAMLRemarkParser.h:85
Parameters
- yaml::MappingNode& Node
¶Expected<unsigned int> parseUnsigned(
yaml::KeyValueNode& Node)
Expected<unsigned int> parseUnsigned(
yaml::KeyValueNode& Node)
Description
Parse one value to an unsigned.
Declared at: llvm/lib/Remarks/YAMLRemarkParser.h:91
Parameters
- yaml::KeyValueNode& Node