mirror of
https://github.com/github/codeql.git
synced 2025-12-16 16:53:25 +01:00
Swift: replace assert with CODEQL_ASSERT
This commit is contained in:
@@ -5,8 +5,17 @@
|
||||
#include "absl/strings/str_join.h"
|
||||
#include "absl/strings/str_cat.h"
|
||||
#include "absl/strings/str_split.h"
|
||||
#include "swift/logging/SwiftAssert.h"
|
||||
|
||||
namespace codeql {
|
||||
|
||||
namespace {
|
||||
Logger& logger() {
|
||||
static Logger ret{"diagnostics"};
|
||||
return ret;
|
||||
}
|
||||
} // namespace
|
||||
|
||||
void SwiftDiagnosticsSource::emit(std::ostream& out,
|
||||
std::string_view timestamp,
|
||||
std::string_view message) const {
|
||||
@@ -36,6 +45,10 @@ std::string SwiftDiagnosticsSource::sourceId() const {
|
||||
std::replace(ret.begin(), ret.end(), '_', '-');
|
||||
return ret;
|
||||
}
|
||||
void SwiftDiagnosticsSource::inscribeImpl(const SwiftDiagnosticsSource* source) {
|
||||
auto [it, inserted] = map().emplace(source->id, source);
|
||||
CODEQL_ASSERT(inserted, "duplicate diagnostics source detected with id {}", source->id);
|
||||
}
|
||||
|
||||
void SwiftDiagnosticsDumper::write(const char* buffer, std::size_t bufferSize) {
|
||||
binlog::Range range{buffer, bufferSize};
|
||||
|
||||
@@ -31,10 +31,7 @@ struct SwiftDiagnosticsSource {
|
||||
template <const SwiftDiagnosticsSource* Spec>
|
||||
static void inscribe() {
|
||||
static std::once_flag once;
|
||||
std::call_once(once, [] {
|
||||
auto [it, inserted] = map().emplace(Spec->id, Spec);
|
||||
assert(inserted);
|
||||
});
|
||||
std::call_once(once, inscribeImpl, Spec);
|
||||
}
|
||||
|
||||
// gets a previously inscribed SwiftDiagnosticsSource for the given id. Will abort if none exists
|
||||
@@ -47,6 +44,8 @@ struct SwiftDiagnosticsSource {
|
||||
void emit(std::ostream& out, std::string_view timestamp, std::string_view message) const;
|
||||
|
||||
private:
|
||||
static void inscribeImpl(const SwiftDiagnosticsSource* Spec);
|
||||
|
||||
std::string sourceId() const;
|
||||
using Map = std::unordered_map<std::string, const SwiftDiagnosticsSource*>;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user