diff options
Diffstat (limited to 'source/compiler-core/slang-json-diagnostics.cpp')
| -rw-r--r-- | source/compiler-core/slang-json-diagnostics.cpp | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/source/compiler-core/slang-json-diagnostics.cpp b/source/compiler-core/slang-json-diagnostics.cpp new file mode 100644 index 000000000..1d35e8faf --- /dev/null +++ b/source/compiler-core/slang-json-diagnostics.cpp @@ -0,0 +1,33 @@ +// slang-json-diagnostics.cpp +#include "slang-json-diagnostics.h" + +namespace Slang { + +namespace JSONDiagnostics +{ +#define DIAGNOSTIC(id, severity, name, messageFormat) const DiagnosticInfo name = { id, Severity::severity, #name, messageFormat }; +#include "slang-json-diagnostic-defs.h" +#undef DIAGNOSTIC +} + +static const DiagnosticInfo* const kJSONDiagnostics[] = +{ +#define DIAGNOSTIC(id, severity, name, messageFormat) &JSONDiagnostics::name, +#include "slang-json-diagnostic-defs.h" +#undef DIAGNOSTIC +}; + +static DiagnosticsLookup* _newJSONDiagnosticsLookup() +{ + auto lookup = new DiagnosticsLookup; + lookup->add(kJSONDiagnostics, SLANG_COUNT_OF(kJSONDiagnostics)); + return lookup; +} + +DiagnosticsLookup* getJSONDiagnosticsLookup() +{ + static RefPtr<DiagnosticsLookup> s_lookup = _newJSONDiagnosticsLookup(); + return s_lookup; +} + +} // namespace Slang |
