summaryrefslogtreecommitdiff
path: root/source/slang/slang-serialize-factory.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/slang/slang-serialize-factory.cpp')
-rw-r--r--source/slang/slang-serialize-factory.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/source/slang/slang-serialize-factory.cpp b/source/slang/slang-serialize-factory.cpp
index 9b3ba9994..a6b7e0ba8 100644
--- a/source/slang/slang-serialize-factory.cpp
+++ b/source/slang/slang-serialize-factory.cpp
@@ -49,8 +49,8 @@ void* DefaultSerialObjectFactory::create(SerialTypeKind typeKind, SerialSubType
SerialIndex ModuleSerialFilter::writePointer(SerialWriter* writer, const RefObject* inPtr)
{
- // We don't serialize Module or Scope
- if (as<Module>(inPtr) || as<Scope>(inPtr))
+ // We don't serialize Module
+ if (as<Module>(inPtr))
{
writer->setPointerIndex(inPtr, SerialIndex(0));
return SerialIndex(0);
@@ -65,6 +65,13 @@ SerialIndex ModuleSerialFilter::writePointer(SerialWriter* writer, const NodeBas
NodeBase* ptr = const_cast<NodeBase*>(inPtr);
SLANG_ASSERT(ptr);
+ // We don't serialize Scope
+ if (as<Scope>(ptr))
+ {
+ writer->setPointerIndex(inPtr, SerialIndex(0));
+ return SerialIndex(0);
+ }
+
if (Decl* decl = as<Decl>(ptr))
{
ModuleDecl* moduleDecl = findModuleForDecl(decl);