From 494e09af2cebafa34db49dc1f60afd43aebed619 Mon Sep 17 00:00:00 2001 From: jsmall-nvidia Date: Thu, 29 Oct 2020 11:45:56 -0400 Subject: 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 --- source/slang/slang-check-decl.cpp | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) (limited to 'source/slang/slang-check-decl.cpp') diff --git a/source/slang/slang-check-decl.cpp b/source/slang/slang-check-decl.cpp index 0735f4620..d771e689c 100644 --- a/source/slang/slang-check-decl.cpp +++ b/source/slang/slang-check-decl.cpp @@ -24,8 +24,7 @@ namespace Slang {} void visitDeclGroup(DeclGroup*) {} - void visitImportExternalDecl(ImportExternalDecl*) {} - + void visitDecl(Decl* decl) { checkModifiers(decl); @@ -42,9 +41,7 @@ namespace Slang void visitDecl(Decl*) {} void visitDeclGroup(DeclGroup*) {} - void visitImportExternalDecl(ImportExternalDecl*) {} - - + void checkVarDeclCommon(VarDeclBase* varDecl); void visitVarDecl(VarDecl* varDecl) @@ -113,7 +110,6 @@ namespace Slang void visitDecl(Decl*) {} void visitDeclGroup(DeclGroup*) {} - void visitImportExternalDecl(ImportExternalDecl*) {} #define CASE(TYPE) void visit##TYPE(TYPE* decl) { checkForRedeclaration(decl); } @@ -135,7 +131,6 @@ namespace Slang void visitDecl(Decl*) {} void visitDeclGroup(DeclGroup*) {} - void visitImportExternalDecl(ImportExternalDecl*) {} void visitInheritanceDecl(InheritanceDecl* inheritanceDecl); @@ -170,7 +165,6 @@ namespace Slang void visitDecl(Decl*) {} void visitDeclGroup(DeclGroup*) {} - void visitImportExternalDecl(ImportExternalDecl*) {} void checkVarDeclCommon(VarDeclBase* varDecl); @@ -1186,7 +1180,6 @@ namespace Slang void visitDecl(Decl*) {} void visitDeclGroup(DeclGroup*) {} - void visitImportExternalDecl(ImportExternalDecl*) {} // Any user-defined type may have declared interface conformances, // which we should check. -- cgit v1.2.3