FunctionPrototype: add another analysis check

This commit is contained in:
augustin64 2024-01-03 15:28:51 +01:00
parent fc53bf3113
commit 396bb5eed0

View File

@ -277,6 +277,13 @@ AnalysisResult analyze(Node &ast, Memory &memory) {
throw RuntimeError(ErrorType::NestedFunction, token.pos, {});
} catch (const InternalError& _) {}
if (memory.contains(function_name)) {
// Il existe une variable non fonction à ce nom
if (memory.get(function_name).type.type != TypeType::Function) {
throw RuntimeError(ErrorType::IncompatibleRedefinition, token.pos, function_name);
}
}
memory.declare(function_name, {
.type = TypeType::Function,
.data = make_fn_prototype(node)