Porytiles
Loading...
Searching...
No Matches
filtered_user_diagnostics.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <string>
4#include <vector>
5
6#include "gsl/pointers"
7
12
13namespace porytiles {
14
24 public:
33 gsl::not_null<const TextFormatter *> format,
34 gsl::not_null<const UserDiagnostics *> inner,
35 DiagnosticTagFilter warning_filter,
36 DiagnosticTagFilter remark_filter);
37
38 void remark(const std::string &tag, const std::vector<std::string> &lines) const override;
39 void remark_note(const std::string &tag, const std::vector<std::string> &lines) const override;
40
41 void warning(const std::string &tag, const std::vector<std::string> &lines) const override;
42 void warning_note(const std::string &tag, const std::vector<std::string> &lines) const override;
43
44 void error(const std::string &tag, const std::vector<std::string> &lines) const override;
45 void error_note(const std::string &tag, const std::vector<std::string> &lines) const override;
46
47 void emit_fatal_proximate(const Error &err) const override;
48 void emit_fatal_step(const Error &err) const override;
49 void emit_fatal_root(const Error &err) const override;
50
51 private:
52 gsl::not_null<const UserDiagnostics *> inner_;
53 DiagnosticTagFilter warning_filter_;
54 DiagnosticTagFilter remark_filter_;
55};
56
57} // namespace porytiles
Regex-based include/exclude filter for diagnostic tags.
Abstract interface for all error types used in ChainableResult error chains.
Definition error.hpp:17
Decorator that applies tag-based filtering to any UserDiagnostics implementation.
void emit_fatal_proximate(const Error &err) const override
Emit the proximate (immediate) error in a fatal error chain.
void warning_note(const std::string &tag, const std::vector< std::string > &lines) const override
Display a tagged note message associated with a warning.
void remark(const std::string &tag, const std::vector< std::string > &lines) const override
Display a tagged remark message.
void emit_fatal_root(const Error &err) const override
Emit the root cause error in a fatal error chain.
void error_note(const std::string &tag, const std::vector< std::string > &lines) const override
Display a tagged note message associated with an error.
void emit_fatal_step(const Error &err) const override
Emit an intermediate step error in a fatal error chain.
void remark_note(const std::string &tag, const std::vector< std::string > &lines) const override
Display a tagged note message associated with a remark.
Abstract class for structured error reporting and diagnostic output.
@ warning
Emit a warning and continue decompilation.
@ error
Emit a formatted error and fail decompilation.