summaryrefslogtreecommitdiffstats
path: root/source/slang/slang-serialize-ast.cpp
diff options
context:
space:
mode:
authorjsmall-nvidia <jsmall@nvidia.com>2020-10-29 11:45:56 -0400
committerGitHub <noreply@github.com>2020-10-29 08:45:56 -0700
commit494e09af2cebafa34db49dc1f60afd43aebed619 (patch)
treeb3985b21d4470415a3ad1a6183836528a971ca54 /source/slang/slang-serialize-ast.cpp
parent1d7a7f23874151372f2792e7307f50c54dae877f (diff)
Handling imported/exporting symbols from serialized modules (#1589)
* #include an absolute path didn't work - because paths were taken to always be relative. * Fix handling of access modifiers inside type definition. * Fix access problem for AST node. Make dumping produce a single function with switch, to potentially make available without Dump specific access. * WIP on serialization design doc. * Remove project references to previously generated files. * More docs on serialization design. * Improve serialization documentation. Remove unused function from IRSerialReader. * Small fixes around naming. Remove long comment from slang-serialize.h - as covered in serialization.md * Remove long comment in slang-serialize.h as covered in serialization.md * More information about doing replacements on read for AST and problems surrounding. * Typo fix. * Spelling fixes. * Value serialize. * Value types with inheritence. * Use value reflection serial conversion for more AST types * Use automatic serialization on more of AST. * Get the types via decltype, simplifies what the extractor has to do. * Update the serialization.md for the value serialization. * Small doc improvements. * Update project. * Remove ImportExternalDecl type Added addImportSymbol and ImportSymbol type Fixed bug in container which meant it wouldn't read back AST module * Because of change of how imports and handled, store objects as SerialPointers. * First pass symbol lookup from mangled names. * Cache current module looked up from mangled name. * Fix SourceLoc bug. Improve comments. * Added diagnostic on mangled symbol not being found * Fix typo. Co-authored-by: Tim Foley <tfoleyNV@users.noreply.github.com>
Diffstat (limited to 'source/slang/slang-serialize-ast.cpp')
-rw-r--r--source/slang/slang-serialize-ast.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/source/slang/slang-serialize-ast.cpp b/source/slang/slang-serialize-ast.cpp
index 0e8acc3b3..bbd8237d2 100644
--- a/source/slang/slang-serialize-ast.cpp
+++ b/source/slang/slang-serialize-ast.cpp
@@ -84,8 +84,6 @@ struct ASTFieldAccess
NamePool namePool;
namePool.setRootNamePool(rootNamePool);
- SerialReader reader(classes, nullptr);
-
ASTBuilder builder(sharedASTBuilder, "Serialize Check");
DefaultSerialObjectFactory objectFactory(&builder);
@@ -96,7 +94,7 @@ struct ASTFieldAccess
const List<SerialInfo::Entry*>& writtenEntries = writer.getEntries();
List<const SerialInfo::Entry*> readEntries;
- SlangResult res = reader.loadEntries(contents.getBuffer(), contents.getCount(), readEntries);
+ SlangResult res = SerialReader::loadEntries(contents.getBuffer(), contents.getCount(), classes, readEntries);
SLANG_UNUSED(res);
SLANG_ASSERT(writtenEntries.getCount() == readEntries.getCount());
@@ -117,7 +115,9 @@ struct ASTFieldAccess
}
+ SerialReader reader(classes, nullptr);
{
+
SlangResult res = reader.load(contents.getBuffer(), contents.getCount(), &namePool);
SLANG_UNUSED(res);
}