summaryrefslogtreecommitdiff
path: root/source/compiler-core/slang-json-source-map-util.h
diff options
context:
space:
mode:
Diffstat (limited to 'source/compiler-core/slang-json-source-map-util.h')
-rw-r--r--source/compiler-core/slang-json-source-map-util.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/source/compiler-core/slang-json-source-map-util.h b/source/compiler-core/slang-json-source-map-util.h
new file mode 100644
index 000000000..51b11b6cd
--- /dev/null
+++ b/source/compiler-core/slang-json-source-map-util.h
@@ -0,0 +1,21 @@
+#ifndef SLANG_COMPILER_CORE_JSON_SOURCE_MAP_UTIL_H
+#define SLANG_COMPILER_CORE_JSON_SOURCE_MAP_UTIL_H
+
+#include "slang-source-map.h"
+
+#include "slang-json-value.h"
+
+namespace Slang {
+
+struct JSONSourceMapUtil
+{
+ /// Decode from root into the source map
+ static SlangResult decode(JSONContainer* container, JSONValue root, DiagnosticSink* sink, RefPtr<SourceMap>& out);
+
+ /// Converts the source map contents into JSON
+ static SlangResult encode(SourceMap* sourceMap, JSONContainer* container, DiagnosticSink* sink, JSONValue& outValue);
+};
+
+} // namespace Slang
+
+#endif // SLANG_COMPILER_CORE_JSON_SOURCE_MAP_UTIL_H