16#ifndef LLVM_DEBUGINFO_SYMBOLIZE_MARKUP_H
17#define LLVM_DEBUGINFO_SYMBOLIZE_MARKUP_H
86 return SGRSyntax.match(
Node.Text);
90 std::optional<MarkupNode> parseElement(
StringRef Line);
91 void parseTextOutsideMarkup(
StringRef Text);
92 std::optional<StringRef> parseMultiLineBegin(
StringRef Line);
93 std::optional<StringRef> parseMultiLineEnd(
StringRef Line);
100 std::string FinishedMultiline;
104 std::string InProgressMultiline;
116 const Regex SGRSyntax;
This file defines the SmallVector class.
StringSet - A set-like wrapper for the StringMap.
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.
LLVM_ABI std::optional< MarkupNode > nextNode()
Returns the next node in the input sequence.
LLVM_ABI void flush()
Inform the parser of that the input stream has ended.
bool isSGR(const MarkupNode &Node) const
LLVM_ABI MarkupParser(StringSet<> MultilineTags={})
LLVM_ABI 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