浏览代码

Autocompletion: Don't use `in` operator to decide over variant lookup

HolonProduction 1 年之前
父节点
当前提交
70488d40db
共有 1 个文件被更改,包括 8 次插入5 次删除
  1. 8 5
      modules/gdscript/gdscript_editor.cpp

+ 8 - 5
modules/gdscript/gdscript_editor.cpp

@@ -1959,11 +1959,14 @@ static bool _guess_expression_type(GDScriptParser::CompletionContext &p_context,
 						break;
 					}
 
-					if (base.value.in(index.value)) {
-						Variant value = base.value.get(index.value);
-						r_type = _type_from_variant(value, p_context);
-						found = true;
-						break;
+					{
+						bool valid;
+						Variant value = base.value.get(index.value, &valid);
+						if (valid) {
+							r_type = _type_from_variant(value, p_context);
+							found = true;
+							break;
+						}
 					}
 
 					// Look if it is a dictionary node.