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:

public ParserFormat
public ExternalFilePrependPath

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)

Declared at: llvm/lib/Remarks/YAMLRemarkParser.h:66

Parameters

llvm::StringRef Buf

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)

Declared at: llvm/lib/Remarks/YAMLRemarkParser.h:70

Parameters

const llvm::remarks::RemarkParser* P

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)

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()

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)

Description

Parse an argument.

Declared at: llvm/lib/Remarks/YAMLRemarkParser.h:95

Parameters

yaml::Node& 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)

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)

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)

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)

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)

Description

Parse one value to an unsigned.

Declared at: llvm/lib/Remarks/YAMLRemarkParser.h:91

Parameters

yaml::KeyValueNode& Node