| 7 | namespace Loader { |
| 8 | |
| 9 | Expect<void> Loader::loadDecl(AST::Component::CoreImportDecl &Decl) { |
| 10 | // core:importdecl ::= m:<core:name> n:<core:name> d:<core:importdesc> |
| 11 | // => (import m n d) |
| 12 | |
| 13 | EXPECTED_TRY(Decl.getModuleName(), FMgr.readName().map_error([this](auto E) { |
| 14 | return logLoadError(E, FMgr.getLastOffset(), |
| 15 | ASTNodeAttr::Comp_Decl_CoreImport); |
| 16 | })); |
| 17 | EXPECTED_TRY(Decl.getName(), FMgr.readName().map_error([this](auto E) { |
| 18 | return logLoadError(E, FMgr.getLastOffset(), |
| 19 | ASTNodeAttr::Comp_Decl_CoreImport); |
| 20 | })); |
| 21 | return loadDesc(Decl.getImportDesc()).map_error([](auto E) { |
| 22 | spdlog::error(ErrInfo::InfoAST(ASTNodeAttr::Comp_Decl_CoreImport)); |
| 23 | return E; |
| 24 | }); |
| 25 | } |
| 26 | |
| 27 | Expect<void> Loader::loadDecl(AST::Component::CoreExportDecl &Decl) { |
| 28 | // core:exportdecl ::= n:<core:name> d:<core:importdesc> => (export n d) |
nothing calls this directly
no test coverage detected