summaryrefslogtreecommitdiffstats
path: root/modules/gdscript/gdscript_compiler.cpp
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2020-07-25 18:36:19 +0200
committerGitHub <noreply@github.com>2020-07-25 18:36:19 +0200
commit58bde149cc461b5fafa254f765ad370a7291ffb5 (patch)
treed9fa6bc4c5db672529bb038313be842fe2e244ee /modules/gdscript/gdscript_compiler.cpp
parent325af10d01084854208c651de75ae7dc018cf54d (diff)
parente6b44b93c3ac3d93f80f5b28b903d57839d48e51 (diff)
downloadredot-engine-58bde149cc461b5fafa254f765ad370a7291ffb5.tar.gz
Merge pull request #40698 from vnen/gscript-allow-new-call
Allow "new()" to be called in non-static functions
Diffstat (limited to 'modules/gdscript/gdscript_compiler.cpp')
-rw-r--r--modules/gdscript/gdscript_compiler.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/modules/gdscript/gdscript_compiler.cpp b/modules/gdscript/gdscript_compiler.cpp
index 3d37c7f803..e34d87f5cc 100644
--- a/modules/gdscript/gdscript_compiler.cpp
+++ b/modules/gdscript/gdscript_compiler.cpp
@@ -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);