mirror of
https://github.com/godotengine/godot.git
synced 2025-10-19 16:03:29 +00:00
GDScript: Fix native_type
is empty for autoload without script
This commit is contained in:
parent
f5696c311c
commit
6767de9b69
2 changed files with 13 additions and 3 deletions
|
@ -1122,6 +1122,7 @@ static void _find_identifiers_in_base(const GDScriptCompletionIdentifier &p_base
|
|||
base_type.script_type = base_script;
|
||||
} else {
|
||||
base_type.kind = GDScriptParser::DataType::NATIVE;
|
||||
base_type.builtin_type = Variant::OBJECT;
|
||||
base_type.native_type = scr->get_instance_base_type();
|
||||
}
|
||||
} else {
|
||||
|
@ -1626,6 +1627,7 @@ static bool _guess_expression_type(GDScriptParser::CompletionContext &p_context,
|
|||
native_type.script_type = parent;
|
||||
} else {
|
||||
native_type.kind = GDScriptParser::DataType::NATIVE;
|
||||
native_type.builtin_type = Variant::OBJECT;
|
||||
native_type.native_type = native_type.script_type->get_instance_base_type();
|
||||
if (!ClassDB::class_exists(native_type.native_type)) {
|
||||
native_type.kind = GDScriptParser::DataType::UNRESOLVED;
|
||||
|
@ -2155,6 +2157,7 @@ static bool _guess_identifier_type(GDScriptParser::CompletionContext &p_context,
|
|||
if (ClassDB::class_exists(p_identifier->name) && ClassDB::is_class_exposed(p_identifier->name)) {
|
||||
r_type.type.type_source = GDScriptParser::DataType::ANNOTATED_EXPLICIT;
|
||||
r_type.type.kind = GDScriptParser::DataType::NATIVE;
|
||||
r_type.type.builtin_type = Variant::OBJECT;
|
||||
r_type.type.native_type = p_identifier->name;
|
||||
r_type.type.is_constant = true;
|
||||
if (Engine::get_singleton()->has_singleton(p_identifier->name)) {
|
||||
|
@ -2281,6 +2284,7 @@ static bool _guess_identifier_type_from_base(GDScriptParser::CompletionContext &
|
|||
base_type.script_type = parent;
|
||||
} else {
|
||||
base_type.kind = GDScriptParser::DataType::NATIVE;
|
||||
base_type.builtin_type = Variant::OBJECT;
|
||||
base_type.native_type = scr->get_instance_base_type();
|
||||
}
|
||||
} else {
|
||||
|
@ -2450,6 +2454,7 @@ static bool _guess_method_return_type_from_base(GDScriptParser::CompletionContex
|
|||
base_type.script_type = base_script;
|
||||
} else {
|
||||
base_type.kind = GDScriptParser::DataType::NATIVE;
|
||||
base_type.builtin_type = Variant::OBJECT;
|
||||
base_type.native_type = scr->get_instance_base_type();
|
||||
}
|
||||
} else {
|
||||
|
@ -2705,8 +2710,8 @@ static bool _get_subscript_type(GDScriptParser::CompletionContext &p_context, co
|
|||
}
|
||||
r_base_type.type_source = GDScriptParser::DataType::ANNOTATED_EXPLICIT;
|
||||
r_base_type.kind = GDScriptParser::DataType::NATIVE;
|
||||
r_base_type.native_type = node->get_class_name();
|
||||
r_base_type.builtin_type = Variant::OBJECT;
|
||||
r_base_type.native_type = node->get_class_name();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -3260,6 +3265,7 @@ static Error _lookup_symbol_from_base(const GDScriptParser::DataType &p_base, co
|
|||
base_type.script_type = base_script;
|
||||
} else {
|
||||
base_type.kind = GDScriptParser::DataType::NATIVE;
|
||||
base_type.builtin_type = Variant::OBJECT;
|
||||
base_type.native_type = scr->get_instance_base_type();
|
||||
}
|
||||
} else {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue