From d898d561e3c76ecf38db434ec7fbb4bbd0e25cb2 Mon Sep 17 00:00:00 2001 From: jsmall-nvidia Date: Wed, 18 Nov 2020 14:52:58 -0500 Subject: Serialized stdlib working (#1603) * #include an absolute path didn't work - because paths were taken to always be relative. * Mangling/module name extraction for GenericDecl * Add comment on SerialFilter to explain re-enabling Stmt. * Support setting up SyntaxDecl when reconstructed after deserialization. * Improvements to setup SyntaxDecl. * Fix typo so can read compressed SourceLocs. * Fix issue with SourceManger. --- source/slang/slang-mangle.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'source/slang/slang-mangle.cpp') diff --git a/source/slang/slang-mangle.cpp b/source/slang/slang-mangle.cpp index ab90f4bc2..a08b05a5d 100644 --- a/source/slang/slang-mangle.cpp +++ b/source/slang/slang-mangle.cpp @@ -415,6 +415,19 @@ namespace Slang // declarations out of this... else if(as(decl)) emitRaw(context, "V"); + else if(DeclRef genericDecl = declRef.as()) + { + // Mark that this is a generic, so we can differentiate bewteen when + // mangling the generic and the inner entity + emitRaw(context, "G"); + + SLANG_ASSERT(genericDecl.substitutions == nullptr); + + auto innerDecl = makeDeclRef(getInner(genericDecl)); + + emitQualifiedName(context, innerDecl); + return; + } else { // TODO: handle other cases -- cgit v1.2.3