Преглед изворни кода

parser error for static func access non-static variables

Fix: #38408
Thakee Nathees пре 5 година
родитељ
комит
ce978517e0
1 измењених фајлова са 4 додато и 0 уклоњено
  1. 4 0
      modules/gdscript/gdscript_parser.cpp

+ 4 - 0
modules/gdscript/gdscript_parser.cpp

@@ -7571,6 +7571,10 @@ GDScriptParser::DataType GDScriptParser::_reduce_identifier_type(const DataType
 	}
 	}
 
 
 	if (_get_member_type(base_type, p_identifier, member_type)) {
 	if (_get_member_type(base_type, p_identifier, member_type)) {
+		if (!p_base_type && current_function && current_function->_static) {
+			_set_error("Can't access member variable (\"" + p_identifier.operator String() + "\") from a static function.", p_line);
+			return DataType();
+		}
 		return member_type;
 		return member_type;
 	}
 	}