### Godot version

4.0 8a98110

### System information

Windows 10 x64

### Issue description

I have a method call in my script that has changed in some newer version. Whenever I want to open the project in the new version, the autoload script will spam argument error. Forever.

https://user-images.githubusercontent.com/2223172/210169561-1938b0f9-684e-4a8f-bebd-4900ff48b98a.mp4

The project never loads. It works fine after I fix the method in external editor.

### Steps to reproduce

1. Be me
2. Try to open the project :<

### Minimal reproduction project

I wasn't able to reproduce it in a minimal project. I suspect some dependency being at fault.
MutexLock lock(singleton->mutex);
	if (!p_owner.is_empty()) {
		singleton->dependencies[p_owner].insert(p_path);
	}
	if (singleton->full_gdscript_cache.has(p_path)) {
		return singleton->full_gdscript_cache[p_path];
	}
	if (singleton->shallow_gdscript_cache.has(p_path)) {
		return singleton->shallow_gdscript_cache[p_path];
	}
	Ref<GDScript> script;
	script.instantiate();
	script->set_path(p_path, true);
	script->load_source_code(p_path);
	Ref<GDScriptParserRef> parser_ref = get_parser(p_path, GDScriptParserRef::PARSED, r_error);
	if (r_error == OK) {
		GDScriptCompiler::make_scripts(script.ptr(), parser_ref->get_parser()->get_tree(), true);
	}
	singleton->shallow_gdscript_cache[p_path] = script;
	return script;
}
Ref<GDScript> GDScriptCache::get_full_script(const String &p_path, Error &r_error, const String &p_owner, bool p_update_from_disk) {
	MutexLock lock(singleton->mutex);
	if (!p_owner.is_empty()) {
		singleton->dependencies[p_owner].insert(p_path);
	}
	Ref<GDScript> script;