//===- Markup.h -------------------------------------------------*- C++ -*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// /// /// \file /// This file declares the log symbolizer markup data model and parser. /// /// See https://llvm.org/docs/SymbolizerMarkupFormat.html /// //===----------------------------------------------------------------------===// #ifndef LLVM_DEBUGINFO_SYMBOLIZE_MARKUP_H #define LLVM_DEBUGINFO_SYMBOLIZE_MARKUP_H #include "llvm/ADT/SmallVector.h" #include "llvm/ADT/StringRef.h" #include "llvm/ADT/StringSet.h" #include "llvm/Support/Regex.h" namespace llvm { namespace symbolize { /// A node of symbolizer markup. /// /// If only the Text field is set, this represents a region of text outside a /// markup element. ANSI SGR control codes are also reported this way; if /// detected, then the control code will be the entirety of the Text field, and /// any surrounding text will be reported as preceding and following nodes. struct MarkupNode { … }; /// Parses a log containing symbolizer markup into a sequence of nodes. class MarkupParser { … }; } // end namespace symbolize } // end namespace llvm #endif // LLVM_DEBUGINFO_SYMBOLIZE_MARKUP_H