mirror of
https://github.com/godotengine/godot
synced 2024-09-05 17:41:41 +00:00
Merge pull request #62701 from cdemirer/for-variable-conflict
This commit is contained in:
commit
f0eb3ac5d3
|
@ -1777,6 +1777,10 @@ GDScriptParser::ForNode *GDScriptParser::parse_for() {
|
|||
|
||||
SuiteNode *suite = alloc_node<SuiteNode>();
|
||||
if (n_for->variable) {
|
||||
const SuiteNode::Local &local = current_suite->get_local(n_for->variable->name);
|
||||
if (local.type != SuiteNode::Local::UNDEFINED) {
|
||||
push_error(vformat(R"(There is already a %s named "%s" declared in this scope.)", local.get_name(), n_for->variable->name), n_for->variable);
|
||||
}
|
||||
suite->add_local(SuiteNode::Local(n_for->variable, current_function));
|
||||
}
|
||||
suite->parent_for = n_for;
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
func test():
|
||||
var TEST = 1
|
||||
for TEST in 2:
|
||||
pass
|
|
@ -0,0 +1,2 @@
|
|||
GDTEST_PARSER_ERROR
|
||||
There is already a variable named "TEST" declared in this scope.
|
|
@ -0,0 +1,3 @@
|
|||
func test():
|
||||
var TEST = 1
|
||||
var TEST = 2
|
|
@ -0,0 +1,2 @@
|
|||
GDTEST_PARSER_ERROR
|
||||
There is already a variable named "TEST" declared in this scope.
|
Loading…
Reference in a new issue