LLVM: llvm::symbolize::MarkupParser Class Reference (original) (raw)

Parses a log containing symbolizer markup into a sequence of nodes. More...

#include "[llvm/DebugInfo/Symbolize/Markup.h](Markup%5F8h%5Fsource.html)"

Public Member Functions
LLVM_ABI MarkupParser (StringSet<> MultilineTags={})
LLVM_ABI void parseLine (StringRef Line)
Parses an individual Line of input.
LLVM_ABI void flush ()
Inform the parser of that the input stream has ended.
LLVM_ABI std::optional< MarkupNode > nextNode ()
Returns the next node in the input sequence.
bool isSGR (const MarkupNode &Node) const

Parses a log containing symbolizer markup into a sequence of nodes.

Definition at line 52 of file Markup.h.

llvm::symbolize::MarkupParser::MarkupParser ( StringSet<> MultilineTags = {} )

flush()

void llvm::symbolize::MarkupParser::flush ( )

Inform the parser of that the input stream has ended.

This allows the parser to finish any deferred processing (e.g., an in-progress multi-line element) and may cause nextNode() to return additional nodes.

Definition at line 101 of file Markup.cpp.

isSGR()

nextNode()

std::optional< MarkupNode > llvm::symbolize::MarkupParser::nextNode ( )

parseLine()

void llvm::symbolize::MarkupParser::parseLine ( StringRef Line )

Parses an individual Line of input.

Nodes from the previous parseLine() call that haven't yet been extracted by nextNode() are discarded. The nodes returned by nextNode() may reference the input string, so it must be retained by the caller until the last use.

Note that some elements may span multiple lines. If a line ends with the start of one of these elements, then no nodes will be produced until the either the end or something that cannot be part of an element is encountered. This may only occur after multiple calls to parseLine(), corresponding to the lines of the multi-line element.

Definition at line 37 of file Markup.cpp.


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