diff options
author | cdemirer <41021322+cdemirer@users.noreply.github.com> | 2022-07-06 04:25:44 +0300 |
---|---|---|
committer | cdemirer <41021322+cdemirer@users.noreply.github.com> | 2022-07-06 04:25:44 +0300 |
commit | f280975bf1689e6a190f7f14d9c7dbcb61e3191d (patch) | |
tree | 6593d420b4b41d55d139130fd989236e112ff129 /modules/gdscript/gdscript_editor.cpp | |
parent | 1d06fec5354d45c21414bf4b00435868444636cb (diff) | |
download | redot-engine-f280975bf1689e6a190f7f14d9c7dbcb61e3191d.tar.gz |
Fix priority of annotated type vs initializer type
Diffstat (limited to 'modules/gdscript/gdscript_editor.cpp')
-rw-r--r-- | modules/gdscript/gdscript_editor.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/modules/gdscript/gdscript_editor.cpp b/modules/gdscript/gdscript_editor.cpp index 474c8094f2..404fcc1ea7 100644 --- a/modules/gdscript/gdscript_editor.cpp +++ b/modules/gdscript/gdscript_editor.cpp @@ -2028,7 +2028,10 @@ static bool _guess_identifier_type_from_base(GDScriptParser::CompletionContext & return true; case GDScriptParser::ClassNode::Member::VARIABLE: if (!is_static) { - if (member.variable->initializer) { + if (member.variable->get_datatype().is_set() && !member.variable->get_datatype().is_variant()) { + r_type.type = member.variable->get_datatype(); + return true; + } else if (member.variable->initializer) { const GDScriptParser::ExpressionNode *init = member.variable->initializer; if (init->is_constant) { r_type.value = init->reduced_value; @@ -2050,9 +2053,6 @@ static bool _guess_identifier_type_from_base(GDScriptParser::CompletionContext & r_type.type = init->get_datatype(); return true; } - } else if (member.variable->get_datatype().is_set() && !member.variable->get_datatype().is_variant()) { - r_type.type = member.variable->get_datatype(); - return true; } } // TODO: Check assignments in constructor. |