Răsfoiți Sursa

Merge pull request #63613 from AntonioDell/bugfix/63592

Rémi Verschelde 3 ani în urmă
părinte
comite
a230e367af
1 a modificat fișierele cu 10 adăugiri și 5 ștergeri
  1. 10 5
      modules/gdscript/gdscript_editor.cpp

+ 10 - 5
modules/gdscript/gdscript_editor.cpp

@@ -1473,11 +1473,16 @@ static bool _guess_expression_type(GDScriptParser::CompletionContext &p_context,
 					if (callee_type == GDScriptParser::Node::IDENTIFIER || call->is_super) {
 					if (callee_type == GDScriptParser::Node::IDENTIFIER || call->is_super) {
 						// Simple call, so base is 'self'.
 						// Simple call, so base is 'self'.
 						if (p_context.current_class) {
 						if (p_context.current_class) {
-							base.type.kind = GDScriptParser::DataType::CLASS;
-							base.type.type_source = GDScriptParser::DataType::INFERRED;
-							base.type.is_constant = true;
-							base.type.class_type = p_context.current_class;
-							base.value = p_context.base;
+							if (call->is_super) {
+								base.type = p_context.current_class->base_type;
+								base.value = p_context.base;
+							} else {
+								base.type.kind = GDScriptParser::DataType::CLASS;
+								base.type.type_source = GDScriptParser::DataType::INFERRED;
+								base.type.is_constant = true;
+								base.type.class_type = p_context.current_class;
+								base.value = p_context.base;
+							}
 						} else {
 						} else {
 							break;
 							break;
 						}
 						}