From 4cb899f824ee5e4421f36506e4c77f682b238b09 Mon Sep 17 00:00:00 2001 From: jsmall-nvidia Date: Thu, 16 Mar 2023 15:19:20 -0400 Subject: 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. --- source/compiler-core/slang-json-rpc.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'source/compiler-core/slang-json-rpc.cpp') 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)); -- cgit v1.2.3