Merge pull request #44889 from ThakeeNathees/builtin-invalid-call-crash-fix
GDScript invalid method call on built-in crash fix
This commit is contained in:
commit
aaf6725150
1 changed files with 2 additions and 2 deletions
|
@ -2029,14 +2029,14 @@ void GDScriptAnalyzer::reduce_call(GDScriptParser::CallNode *p_call, bool is_awa
|
|||
push_error(vformat(R"*(Name "%s" called as a function but is a "%s".)*", p_call->function_name, callee_datatype.to_string()), p_call->callee);
|
||||
}
|
||||
#ifdef DEBUG_ENABLED
|
||||
} else if (!is_self) {
|
||||
} else if (!is_self && !(base_type.is_hard_type() && base_type.kind == GDScriptParser::DataType::BUILTIN)) {
|
||||
parser->push_warning(p_call, GDScriptWarning::UNSAFE_METHOD_ACCESS, p_call->function_name, base_type.to_string());
|
||||
mark_node_unsafe(p_call);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!found && is_self) {
|
||||
if (!found && (is_self || (base_type.is_hard_type() && base_type.kind == GDScriptParser::DataType::BUILTIN))) {
|
||||
String base_name = is_self && !p_call->is_super ? "self" : base_type.to_string();
|
||||
push_error(vformat(R"*(Function "%s()" not found in base %s.)*", p_call->function_name, base_name), p_call->is_super ? p_call : p_call->callee);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue