|
@@ -2608,10 +2608,13 @@ void GDScriptAnalyzer::reduce_identifier_from_base(GDScriptParser::IdentifierNod
|
|
|
const StringName &native = base.native_type;
|
|
|
|
|
|
if (class_exists(native)) {
|
|
|
- PropertyInfo prop_info;
|
|
|
MethodInfo method_info;
|
|
|
- if (ClassDB::get_property_info(native, name, &prop_info)) {
|
|
|
- p_identifier->set_datatype(type_from_property(prop_info));
|
|
|
+ if (ClassDB::has_property(native, name)) {
|
|
|
+ StringName getter_name = ClassDB::get_property_getter(native, name);
|
|
|
+ MethodBind *getter = ClassDB::get_method(native, getter_name);
|
|
|
+ if (getter != nullptr) {
|
|
|
+ p_identifier->set_datatype(type_from_property(getter->get_return_info()));
|
|
|
+ }
|
|
|
return;
|
|
|
}
|
|
|
if (ClassDB::get_method_info(native, name, &method_info)) {
|