mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-12-15 08:06:19 +00:00
Add diag::List::add_error() helper
Refactors a common pattern in the tint codebase. Change-Id: Ia8a70d952fd8c204facd0120f24e43ccc9305622 Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/38840 Commit-Queue: Ben Clayton <bclayton@google.com> Reviewed-by: dan sinclair <dsinclair@chromium.org>
This commit is contained in:
committed by
Commit Bot service account
parent
a6b9a8eb2f
commit
1461cd96d6
@@ -14,6 +14,8 @@
|
||||
|
||||
#include "src/reader/spirv/parser.h"
|
||||
|
||||
#include <utility>
|
||||
|
||||
#include "src/reader/spirv/parser_impl.h"
|
||||
|
||||
namespace tint {
|
||||
@@ -30,10 +32,9 @@ bool Parser::Parse() {
|
||||
auto err_msg = impl_->error();
|
||||
if (!err_msg.empty()) {
|
||||
// TODO(bclayton): Migrate spirv::ParserImpl to using diagnostics.
|
||||
diag::Diagnostic error{};
|
||||
error.severity = diag::Severity::Error;
|
||||
error.message = err_msg;
|
||||
set_diagnostics({error});
|
||||
diag::List diagnostics;
|
||||
diagnostics.add_error(err_msg);
|
||||
set_diagnostics(std::move(diagnostics));
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -46,6 +46,7 @@ class Parser : public Reader {
|
||||
|
||||
private:
|
||||
std::unique_ptr<ParserImpl> impl_;
|
||||
Program program_;
|
||||
};
|
||||
|
||||
} // namespace spirv
|
||||
|
||||
@@ -230,11 +230,7 @@ ParserImpl::Failure::Errored ParserImpl::add_error(const Token& t,
|
||||
ParserImpl::Failure::Errored ParserImpl::add_error(const Source& source,
|
||||
const std::string& err) {
|
||||
if (silence_errors_ == 0) {
|
||||
diag::Diagnostic diagnostic;
|
||||
diagnostic.severity = diag::Severity::Error;
|
||||
diagnostic.message = err;
|
||||
diagnostic.source = source;
|
||||
diags_.add(std::move(diagnostic));
|
||||
diags_.add_error(err, source);
|
||||
}
|
||||
return Failure::kErrored;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user