summaryrefslogtreecommitdiffstats
path: root/source/compiler-core/slang-json-rpc.cpp
diff options
context:
space:
mode:
authorjsmall-nvidia <jsmall@nvidia.com>2023-03-16 15:19:20 -0400
committerGitHub <noreply@github.com>2023-03-16 15:19:20 -0400
commit4cb899f824ee5e4421f36506e4c77f682b238b09 (patch)
treec348029866666fad59531032ba76f325d67c32ab /source/compiler-core/slang-json-rpc.cpp
parent1036d1a9edec83d8840577f388af8599b5e18f5f (diff)
Preliminary SourceMap support (#2701)
* #include an absolute path didn't work - because paths were taken to always be relative. * WIP source map. * Split out handling of RttiTypeFuncs to a map type. * Make RttiTypeFuncsMap hold default impls. * Slightly more sophisticated RttiTypeFuncsMap * Source map decoding. * Fix tabs. * Fix asserts due to negative values. * Use less obscure mechanisms in SourceMap.
Diffstat (limited to 'source/compiler-core/slang-json-rpc.cpp')
-rw-r--r--source/compiler-core/slang-json-rpc.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/source/compiler-core/slang-json-rpc.cpp b/source/compiler-core/slang-json-rpc.cpp
index f4101be8c..3474718c7 100644
--- a/source/compiler-core/slang-json-rpc.cpp
+++ b/source/compiler-core/slang-json-rpc.cpp
@@ -126,7 +126,9 @@ static const StructRttiInfo _makeJSONResultResponseResponseRtti()
/* static */SlangResult JSONRPCUtil::convertToNative(JSONContainer* container, const JSONValue& value, DiagnosticSink* sink, const RttiInfo* rttiInfo, void* out)
{
- JSONToNativeConverter converter(container, sink);
+ auto typeMap = JSONNativeUtil::getTypeFuncsMap();
+
+ JSONToNativeConverter converter(container, &typeMap, sink);
SLANG_RETURN_ON_FAIL(converter.convert(value, rttiInfo, out));
return SLANG_OK;
}
@@ -136,7 +138,9 @@ static const StructRttiInfo _makeJSONResultResponseResponseRtti()
SourceManager* sourceManager = sink->getSourceManager();
JSONContainer container(sourceManager);
- NativeToJSONConverter converter(&container, sink);
+ auto typeMap = JSONNativeUtil::getTypeFuncsMap();
+
+ NativeToJSONConverter converter(&container, &typeMap, sink);
JSONValue value;
SLANG_RETURN_ON_FAIL(converter.convert(rttiInfo, in, value));