diff --git a/src/language/ast/ASTSymbolInitializationChecker.cpp b/src/language/ast/ASTSymbolInitializationChecker.cpp index 9ce181ca7fe005534f4e2d45a1c575e45fbb86af..c3ae069cc3eb9824183ef410c2c6444e2b25fd15 100644 --- a/src/language/ast/ASTSymbolInitializationChecker.cpp +++ b/src/language/ast/ASTSymbolInitializationChecker.cpp @@ -63,14 +63,13 @@ ASTSymbolInitializationChecker::_checkSymbolInitialization(ASTNode& node) auto [i_symbol, found] = node.m_symbol_table->find(symbol, node.children[0]->begin()); Assert(found, "unexpected error, should have been detected through declaration checking"); - i_symbol->attributes().setIsInitialized(); - auto& function_table = node.m_symbol_table->functionTable(); uint64_t function_id = std::get<uint64_t>(i_symbol->attributes().value()); auto& function_descriptor = function_table[function_id]; this->_checkSymbolInitialization(function_descriptor.definitionNode()); + i_symbol->attributes().setIsInitialized(); } else if (node.is_type<language::function_definition>()) { this->_checkSymbolInitialization(*node.children[1]); } else if (node.is_type<language::eq_op>()) {