mirror of
https://github.com/godotengine/godot.git
synced 2026-01-06 10:11:57 +03:00
GDScript: Don't allow builtin type names as identifiers
This commit is contained in:
@@ -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.
|
||||||
Reference in New Issue
Block a user