mirror of
https://github.com/godotengine/godot.git
synced 2025-02-23 23:15:07 +08:00
Merge pull request #81577 from anvilfolk/thecycleeeeeeeeeeeeesaaaaaaaaaaaaah
GDScript: Fix compilation of expressions compiling other classes
This commit is contained in:
commit
e5ac7cf034
@ -3457,7 +3457,7 @@ void GDScriptAnalyzer::reduce_identifier_from_base_set_class(GDScriptParser::Ide
|
||||
|
||||
p_identifier->set_datatype(p_identifier_datatype);
|
||||
Error err = OK;
|
||||
Ref<GDScript> scr = GDScriptCache::get_shallow_script(p_identifier_datatype.script_path, err);
|
||||
Ref<GDScript> scr = GDScriptCache::get_shallow_script(p_identifier_datatype.script_path, err, parser->script_path);
|
||||
if (err) {
|
||||
push_error(vformat(R"(Error while getting cache for script "%s".)", p_identifier_datatype.script_path), p_identifier);
|
||||
return;
|
||||
@ -4581,7 +4581,7 @@ Array GDScriptAnalyzer::make_array_from_element_datatype(const GDScriptParser::D
|
||||
Ref<Script> script_type = p_element_datatype.script_type;
|
||||
if (p_element_datatype.kind == GDScriptParser::DataType::CLASS && script_type.is_null()) {
|
||||
Error err = OK;
|
||||
Ref<GDScript> scr = GDScriptCache::get_shallow_script(p_element_datatype.script_path, err);
|
||||
Ref<GDScript> scr = GDScriptCache::get_shallow_script(p_element_datatype.script_path, err, parser->script_path);
|
||||
if (err) {
|
||||
push_error(vformat(R"(Error while getting cache for script "%s".)", p_element_datatype.script_path), p_source_node);
|
||||
return array;
|
||||
|
@ -402,7 +402,8 @@ GDScriptCodeGenerator::Address GDScriptCompiler::_parse_expression(CodeGen &code
|
||||
String global_class_path = ScriptServer::get_global_class_path(identifier);
|
||||
if (ResourceLoader::get_resource_type(global_class_path) == "GDScript") {
|
||||
Error err = OK;
|
||||
res = GDScriptCache::get_full_script(global_class_path, err);
|
||||
// Should not need to pass p_owner since analyzer will already have done it.
|
||||
res = GDScriptCache::get_shallow_script(global_class_path, err);
|
||||
if (err != OK) {
|
||||
_set_error("Can't load global class " + String(identifier), p_expression);
|
||||
r_error = ERR_COMPILATION_FAILED;
|
||||
|
Loading…
Reference in New Issue
Block a user