Merge pull request #74330 from aleksrutins/csharp-identifier-validation

Ensure that C# script names (and therefore class names) are valid identifiers
This commit is contained in:
Rémi Verschelde 2023-03-05 13:29:26 +01:00
commit b2622218f9
No known key found for this signature in database
GPG Key ID: C3336907360768E1

View File

@ -58,6 +58,7 @@
#include "godotsharp_dirs.h" #include "godotsharp_dirs.h"
#include "managed_callable.h" #include "managed_callable.h"
#include "mono_gd/gd_mono_cache.h" #include "mono_gd/gd_mono_cache.h"
#include "servers/text_server.h"
#include "signal_awaiter_utils.h" #include "signal_awaiter_utils.h"
#include "utils/macros.h" #include "utils/macros.h"
#include "utils/naming_utils.h" #include "utils/naming_utils.h"
@ -374,6 +375,10 @@ String CSharpLanguage::validate_path(const String &p_path) const {
if (keywords.find(class_name)) { if (keywords.find(class_name)) {
return RTR("Class name can't be a reserved keyword"); return RTR("Class name can't be a reserved keyword");
} }
if (!TS->is_valid_identifier(class_name)) {
return RTR("Class name must be a valid identifier");
}
return ""; return "";
} }