Merge pull request #48037 from ray90514/bug#47720

Fix Script editor completion doesn't suggest members of a script for type hints
This commit is contained in:
Rémi Verschelde 2022-12-12 13:40:28 +01:00
commit 0e594bb815
No known key found for this signature in database
GPG key ID: C3336907360768E1
2 changed files with 11 additions and 1 deletions

View file

@ -2983,8 +2983,17 @@ Error GDScriptLanguage::complete_code(const String &p_code, const String &p_path
base_type.has_type = false;
}
} break;
case GDScriptParser::DataType::SCRIPT:
case GDScriptParser::DataType::GDSCRIPT: {
Ref<GDScript> scr = base_type.script_type;
if (scr.is_valid()) {
for (const Map<StringName, Ref<GDScript>>::Element *E = scr->get_subclasses().front(); E; E = E->next()) {
ScriptCodeCompletionOption option(E->key().operator String(), ScriptCodeCompletionOption::KIND_CLASS);
options.insert(option.display, option);
}
}
FALLTHROUGH;
}
case GDScriptParser::DataType::SCRIPT: {
Ref<Script> scr = base_type.script_type;
if (scr.is_valid()) {
Map<StringName, Variant> constants;

View file

@ -5786,6 +5786,7 @@ bool GDScriptParser::_parse_type(DataType &r_type, bool p_can_be_void) {
can_index = false;
tokenizer->advance();
} break;
case GDScriptTokenizer::TK_CURSOR:
case GDScriptTokenizer::TK_IDENTIFIER: {
if (can_index) {
_set_error("Unexpected identifier.");