diff options
Diffstat (limited to 'source/slang/slang-serialize-factory.cpp')
| -rw-r--r-- | source/slang/slang-serialize-factory.cpp | 11 |
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); |
