Skip to content
Snippets Groups Projects
Commit b8971275 authored by Stéphane Del Pino's avatar Stéphane Del Pino
Browse files

Check that CheckpointResumeRepository is built for CP/R registration

parent cc8989f9
No related branches found
No related tags found
1 merge request!199Integrate checkpointing
#include <language/ast/ASTModulesImporter.hpp>
#include <language/PEGGrammar.hpp>
#include <language/utils/CheckpointResumeRepository.hpp>
#include <language/utils/OperatorRepository.hpp>
#include <utils/ConsoleManager.hpp>
......@@ -27,8 +28,10 @@ ASTModulesImporter::_importModule(ASTNode& import_node)
m_module_repository.populateSymbolTable(module_name_node, m_symbol_table);
m_module_repository.registerOperators(module_name);
if (CheckpointResumeRepository::isCreated()) {
m_module_repository.registerCheckpointResume(module_name);
}
}
void
ASTModulesImporter::_importAllModules(ASTNode& node)
......
......@@ -25,6 +25,11 @@ add_library(PugsLanguageAST
ASTSymbolTableBuilder.cpp
)
target_link_libraries(
PugsLanguageAST
${HIGHFIVE_TARGET}
)
add_dependencies(PugsLanguageAST
PugsUtils)
......@@ -11,6 +11,7 @@
#include <language/modules/WriterModule.hpp>
#include <language/utils/BasicAffectationRegistrerFor.hpp>
#include <language/utils/BuiltinFunctionEmbedder.hpp>
#include <language/utils/CheckpointResumeRepository.hpp>
#include <language/utils/ParseError.hpp>
#include <language/utils/SymbolTable.hpp>
#include <language/utils/TypeDescriptor.hpp>
......@@ -164,7 +165,9 @@ ModuleRepository::populateMandatoryData(const ASTNode& root_node, SymbolTable& s
this->_populateSymbolTable(root_node, module_name, i_module->getNameValueMap(), symbol_table);
if (CheckpointResumeRepository::isCreated()) {
i_module->registerCheckpointResume();
}
for (const auto& [symbol_name, embedded] : i_module->getNameTypeMap()) {
BasicAffectationRegisterFor<EmbeddedData>(ASTNodeDataType::build<ASTNodeDataType::type_id_t>(symbol_name));
......
......@@ -63,6 +63,12 @@ class CheckpointResumeRepository
static void create();
static bool
isCreated()
{
return m_instance != nullptr;
}
PUGS_INLINE
static CheckpointResumeRepository&
instance()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment