Skip to content

Commit

Permalink
Merge pull request #79386 from HolonProduction/completion-get-child-s…
Browse files Browse the repository at this point in the history
…tatic

Improve autocompletion with `get_node`
  • Loading branch information
akien-mga committed Dec 5, 2023
2 parents 375d89c + c8889a7 commit dc367be
Showing 1 changed file with 16 additions and 2 deletions.
18 changes: 16 additions & 2 deletions modules/gdscript/gdscript_editor.cpp
Expand Up @@ -2667,6 +2667,11 @@ static bool _get_subscript_type(GDScriptParser::CompletionContext &p_context, co
if (p_context.base == nullptr) {
return false;
}
if (p_subscript->base->datatype.type_source == GDScriptParser::DataType::ANNOTATED_EXPLICIT) {
// Annotated type takes precedence.
return false;
}

const GDScriptParser::GetNodeNode *get_node = nullptr;

switch (p_subscript->base->type) {
Expand Down Expand Up @@ -2715,10 +2720,19 @@ static bool _get_subscript_type(GDScriptParser::CompletionContext &p_context, co
if (r_base != nullptr) {
*r_base = node;
}
r_base_type.type_source = GDScriptParser::DataType::ANNOTATED_EXPLICIT;
r_base_type.kind = GDScriptParser::DataType::NATIVE;

r_base_type.type_source = GDScriptParser::DataType::INFERRED;
r_base_type.builtin_type = Variant::OBJECT;
r_base_type.native_type = node->get_class_name();

Ref<Script> scr = node->get_script();
if (scr.is_null()) {
r_base_type.kind = GDScriptParser::DataType::NATIVE;
} else {
r_base_type.kind = GDScriptParser::DataType::SCRIPT;
r_base_type.script_type = scr;
}

return true;
}
}
Expand Down

0 comments on commit dc367be

Please sign in to comment.