summaryrefslogtreecommitdiffstats
path: root/modules/mono/csharp_script.cpp
diff options
context:
space:
mode:
authorAleks Rutins <aleks@rutins.com>2023-03-03 18:25:15 -0500
committerAleks Rutins <aleks@rutins.com>2023-03-04 10:30:40 -0500
commitae8752a731ed0b1c9307bfc5ae817e917a887294 (patch)
tree75671daef4b109397e12d057ed85b932198fd244 /modules/mono/csharp_script.cpp
parent61d2c855114c824f5ca27ded0a1fa71cc7b21134 (diff)
downloadredot-engine-ae8752a731ed0b1c9307bfc5ae817e917a887294.tar.gz
Validate that C# class names are valid identifiers
Diffstat (limited to 'modules/mono/csharp_script.cpp')
-rw-r--r--modules/mono/csharp_script.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/modules/mono/csharp_script.cpp b/modules/mono/csharp_script.cpp
index d3c2415755..932e97c46b 100644
--- a/modules/mono/csharp_script.cpp
+++ b/modules/mono/csharp_script.cpp
@@ -58,6 +58,7 @@
#include "godotsharp_dirs.h"
#include "managed_callable.h"
#include "mono_gd/gd_mono_cache.h"
+#include "servers/text_server.h"
#include "signal_awaiter_utils.h"
#include "utils/macros.h"
#include "utils/naming_utils.h"
@@ -374,6 +375,10 @@ String CSharpLanguage::validate_path(const String &p_path) const {
if (keywords.find(class_name)) {
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 "";
}