浏览代码

GDScript class name existance check enhanced

Thakee Nathees 5 年之前
父节点
当前提交
62280c3d47
共有 1 个文件被更改,包括 6 次插入0 次删除
  1. 6 0
      modules/gdscript/gdscript_parser.cpp

+ 6 - 0
modules/gdscript/gdscript_parser.cpp

@@ -3673,6 +3673,12 @@ void GDScriptParser::_parse_class(ClassNode *p_class) {
 						_set_error("A constant named \"" + String(name) + "\" already exists in the outer class scope (at line" + itos(outer_class->constant_expressions[name].expression->line) + ").");
 						return;
 					}
+					for (int i = 0; i < outer_class->variables.size(); i++) {
+						if (outer_class->variables[i].identifier == name) {
+							_set_error("A variable named \"" + String(name) + "\" already exists in the outer class scope (at line " + itos(outer_class->variables[i].line) + ").");
+							return;
+						}
+					}
 
 					outer_class = outer_class->owner;
 				}