yum-mirror/slang

Making it easier to work with shaders

git clone https://git.yummers.dev/yum-mirror/slang

Ellie Hermaszewskaformatf65d756bf

master
1.2 KiB42 linesraw
1#ifndef SLANG_COMPILER_CORE_JSON_SOURCE_MAP_UTIL_H
2#define SLANG_COMPILER_CORE_JSON_SOURCE_MAP_UTIL_H
3
4#include "slang-json-value.h"
5#include "slang-source-map.h"
6
7namespace Slang
8{
9
10struct JSONSourceMapUtil
11{
12    /// Decode from root into the source map
13    static SlangResult decode(
14        JSONContainer* container,
15        JSONValue root,
16        DiagnosticSink* sink,
17        SourceMap& out);
18
19    /// Converts the source map contents into JSON
20    static SlangResult encode(
21        const SourceMap& sourceMap,
22        JSONContainer* container,
23        DiagnosticSink* sink,
24        JSONValue& outValue);
25
26    /// Read the blob (encoded as JSON) as a source map.
27    /// Sink is optional, and can be passed as nullptr
28    static SlangResult read(ISlangBlob* blob, DiagnosticSink* sink, SourceMap& outSourceMap);
29    static SlangResult read(ISlangBlob* blob, SourceMap& outSourceMap);
30
31    /// Write source map to outBlob JSON
32    static SlangResult write(const SourceMap& sourceMap, ComPtr<ISlangBlob>& outBlob);
33    /// Write out the source map into a blob
34    static SlangResult write(
35        const SourceMap& sourceMap,
36        DiagnosticSink* sink,
37        ComPtr<ISlangBlob>& outBlob);
38};
39
40} // namespace Slang
41
42#endif // SLANG_COMPILER_CORE_JSON_SOURCE_MAP_UTIL_H