فهرست منبع

GDScript autocomplete: don't carry values when guessing from `is`

Guessing the type from an `is` operator should no be considered an
assigment. This would cause crashes in certain scenarios.
George Marques 6 سال پیش
والد
کامیت
4d1551dbb5
1فایلهای تغییر یافته به همراه5 افزوده شده و 1 حذف شده
  1. 5 1
      modules/gdscript/gdscript_editor.cpp

+ 5 - 1
modules/gdscript/gdscript_editor.cpp

@@ -1181,7 +1181,11 @@ static bool _guess_identifier_type(const GDScriptCompletionContext &p_context, c
 				c.line = op->line;
 				c.block = blk;
 				if (_guess_expression_type(p_context, op->arguments[1], r_type)) {
-					r_type.type.is_meta_type = false;
+					r_type.type.is_meta_type = false; // Right-hand of `is` will be a meta type, but the left-hand value is not
+					// Not an assignment, it shouldn't carry any value
+					r_type.value = Variant();
+					r_type.assigned_expression = NULL;
+
 					return true;
 				}
 			}