hoshi-lang dev
Yet another programming language
Loading...
Searching...
No Matches
diagnostic.h
Go to the documentation of this file.
1//
2// Created for hoshi-lang LSP readiness refactoring.
3//
4
5#ifndef HOSHI_LANG_DIAGNOSTIC_H
6#define HOSHI_LANG_DIAGNOSTIC_H
7
8#include <cstdint>
9#include <string>
10#include <share/def.hpp>
11
12namespace yoi {
13
15 Error,
16 Warning,
17 Note,
18 Hint
19};
20
31
32struct Diagnostic {
34 yoi::indexT line; // 1-based, for display and LSP
35 yoi::indexT column; // 1-based, for display and LSP
36 std::string message;
39
40 Diagnostic() = default;
41
43 std::string msg,
46 : sourceFile(std::move(file))
47 , line(line)
48 , column(col)
49 , message(std::move(msg))
50 , severity(sev)
51 , category(cat) {}
52};
53
54} // namespace yoi
55
56#endif // HOSHI_LANG_DIAGNOSTIC_H
Definition json.hpp:5639
DiagnosticCategory
Definition diagnostic.h:21
DiagnosticSeverity
Definition diagnostic.h:14
std::wstring wstr
Definition def.hpp:51
uint64_t indexT
Definition def.hpp:54
std::string message
Definition diagnostic.h:36
Diagnostic()=default
DiagnosticSeverity severity
Definition diagnostic.h:37
yoi::indexT column
Definition diagnostic.h:35
Diagnostic(yoi::wstr file, yoi::indexT line, yoi::indexT col, std::string msg, DiagnosticSeverity sev=DiagnosticSeverity::Error, DiagnosticCategory cat=DiagnosticCategory::Generic)
Definition diagnostic.h:42
yoi::indexT line
Definition diagnostic.h:34
DiagnosticCategory category
Definition diagnostic.h:38
yoi::wstr sourceFile
Definition diagnostic.h:33