GDScript: Allow "new()" to be called in non-static functions

This commit is contained in:
George Marques 2020-07-24 13:45:23 -03:00
parent b7dc08fcf6
commit e6b44b93c3
No known key found for this signature in database
GPG Key ID: 046BD46A3201E43D

View File

@ -736,7 +736,7 @@ int GDScriptCompiler::_parse_expression(CodeGen &codegen, const GDScriptParser::
} else {
if (callee->type == GDScriptParser::Node::IDENTIFIER) {
// Self function call.
if (codegen.function_node && codegen.function_node->is_static) {
if ((codegen.function_node && codegen.function_node->is_static) || call->function_name == "new") {
ret = (GDScriptFunction::ADDR_TYPE_CLASS << GDScriptFunction::ADDR_BITS);
} else {
ret = (GDScriptFunction::ADDR_TYPE_SELF << GDScriptFunction::ADDR_BITS);