FunctionPrototype: add another analysis check
This commit is contained in:
parent
fc53bf3113
commit
396bb5eed0
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user