16#ifndef LLVM_DEBUGINFO_SYMBOLIZE_MARKUP_H
17#define LLVM_DEBUGINFO_SYMBOLIZE_MARKUP_H
82 std::optional<MarkupNode>
nextNode();
89 std::optional<MarkupNode> parseElement(
StringRef Line);
90 void parseTextOutsideMarkup(
StringRef Text);
91 std::optional<StringRef> parseMultiLineBegin(
StringRef Line);
92 std::optional<StringRef> parseMultiLineEnd(
StringRef Line);
99 std::string FinishedMultiline;
103 std::string InProgressMultiline;
115 const Regex SGRSyntax;
This file defines the SmallVector class.
StringSet - A set-like wrapper for the StringMap.
bool match(StringRef String, SmallVectorImpl< StringRef > *Matches=nullptr, std::string *Error=nullptr) const
matches - Match the regex against a given String.
This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small.
StringRef - Represent a constant reference to a string, i.e.
StringSet - A wrapper for StringMap that provides set-like functionality.
Parses a log containing symbolizer markup into a sequence of nodes.
std::optional< MarkupNode > nextNode()
Returns the next node in the input sequence.
void flush()
Inform the parser of that the input stream has ended.
bool isSGR(const MarkupNode &Node) const
void parseLine(StringRef Line)
Parses an individual Line of input.
This is an optimization pass for GlobalISel generic memory operations.
A node of symbolizer markup.
StringRef Text
The full text of this node in the input.
bool operator!=(const MarkupNode &Other) const
SmallVector< StringRef > Fields
If this represents an element with fields, a list of the field contents.
StringRef Tag
If this represents an element, the tag. Otherwise, empty.
bool operator==(const MarkupNode &Other) const