GDScript: Don't allow builtin type names as identifiers
This commit is contained in:
parent
5e609d0e8c
commit
72c07708e8
@ -175,6 +175,11 @@ Error GDScriptAnalyzer::check_native_member_name_conflict(const StringName &p_me
|
|||||||
return ERR_PARSE_ERROR;
|
return ERR_PARSE_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (GDScriptParser::get_builtin_type(p_member_name) != Variant::VARIANT_MAX) {
|
||||||
|
push_error(vformat(R"(The member "%s" cannot have the same name as a builtin type.)", p_member_name), p_member_node);
|
||||||
|
return ERR_PARSE_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
return OK;
|
return OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -0,0 +1,5 @@
|
|||||||
|
class Vector2:
|
||||||
|
pass
|
||||||
|
|
||||||
|
func test():
|
||||||
|
pass
|
@ -0,0 +1,2 @@
|
|||||||
|
GDTEST_ANALYZER_ERROR
|
||||||
|
The member "Vector2" cannot have the same name as a builtin type.
|
@ -0,0 +1,4 @@
|
|||||||
|
const Vector2 = 0
|
||||||
|
|
||||||
|
func test():
|
||||||
|
pass
|
@ -0,0 +1,2 @@
|
|||||||
|
GDTEST_ANALYZER_ERROR
|
||||||
|
The member "Vector2" cannot have the same name as a builtin type.
|
@ -0,0 +1,4 @@
|
|||||||
|
enum Vector2 { A, B }
|
||||||
|
|
||||||
|
func test():
|
||||||
|
pass
|
@ -0,0 +1,2 @@
|
|||||||
|
GDTEST_ANALYZER_ERROR
|
||||||
|
The member "Vector2" cannot have the same name as a builtin type.
|
@ -0,0 +1,4 @@
|
|||||||
|
var Vector2
|
||||||
|
|
||||||
|
func test():
|
||||||
|
pass
|
@ -0,0 +1,2 @@
|
|||||||
|
GDTEST_ANALYZER_ERROR
|
||||||
|
The member "Vector2" cannot have the same name as a builtin type.
|
Loading…
Reference in New Issue
Block a user