9#ifndef LLDB_EXPRESSION_DIAGNOSTICMANAGER_H
10#define LLDB_EXPRESSION_DIAGNOSTICMANAGER_H
15#include "llvm/ADT/STLExtras.h"
16#include "llvm/ADT/StringRef.h"
78 bool precede_with_newline =
true) {
79 if (precede_with_newline)
104 [](
const std::unique_ptr<Diagnostic> &diag) {
105 return diag->HasFixIts();
113 std::make_unique<Diagnostic>(message, severity, origin, compiler_id));
122 __attribute__((format(printf, 3, 4)));
135 std::string
GetString(
char separator =
'\n');
size_t Printf(DiagnosticSeverity severity, const char *format,...) __attribute__((format(printf
void SetFixedExpression(std::string fixed_expression)
void AppendMessageToDiagnostic(llvm::StringRef str)
std::string m_fixed_expression
void AddDiagnostic(std::unique_ptr< Diagnostic > diagnostic)
std::string GetString(char separator='\n')
DiagnosticList m_diagnostics
const DiagnosticList & Diagnostics()
size_t void PutString(DiagnosticSeverity severity, llvm::StringRef str)
void AddDiagnostic(llvm::StringRef message, DiagnosticSeverity severity, DiagnosticOrigin origin, uint32_t compiler_id=LLDB_INVALID_COMPILER_ID)
const std::string & GetFixedExpression()
DiagnosticSeverity m_severity
Diagnostic(const Diagnostic &rhs)
DiagnosticSeverity GetSeverity() const
virtual ~Diagnostic()=default
void AppendMessage(llvm::StringRef message, bool precede_with_newline=true)
uint32_t GetCompilerID() const
virtual bool HasFixIts() const
Diagnostic(llvm::StringRef message, DiagnosticSeverity severity, DiagnosticOrigin origin, uint32_t compiler_id)
DiagnosticOrigin getKind() const
DiagnosticOrigin m_origin
llvm::StringRef GetMessage() const
static bool classof(const Diagnostic *diag)
A class that represents a running process on the host machine.
@ eDiagnosticSeverityError
@ eDiagnosticSeverityWarning
@ eDiagnosticSeverityRemark
const uint32_t LLDB_INVALID_COMPILER_ID
std::vector< std::unique_ptr< Diagnostic > > DiagnosticList
@ eDiagnosticOriginUnknown