diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2019-09-19 19:56:05 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-09-19 19:56:05 +0200 |
commit | 318ac6ee1395c121fdabc12abfe43b0980ef467c (patch) | |
tree | 839a80216c6ff5fd4a156bc787d4684aab1a5e7c /modules/gdscript/gdscript_compiler.cpp | |
parent | 996e30ee94eca4973aef383d86a7e86c88ff1134 (diff) | |
parent | aa8e3e7b0fcb02c641b10e9748e3d9406c300884 (diff) | |
download | redot-engine-318ac6ee1395c121fdabc12abfe43b0980ef467c.tar.gz |
Merge pull request #31142 from mitchcurtis/assert-message
GDScript: add an optional message parameter to assert()
Diffstat (limited to 'modules/gdscript/gdscript_compiler.cpp')
-rw-r--r-- | modules/gdscript/gdscript_compiler.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/modules/gdscript/gdscript_compiler.cpp b/modules/gdscript/gdscript_compiler.cpp index 7166189416..9ea6b0e863 100644 --- a/modules/gdscript/gdscript_compiler.cpp +++ b/modules/gdscript/gdscript_compiler.cpp @@ -1520,8 +1520,16 @@ Error GDScriptCompiler::_parse_block(CodeGen &codegen, const GDScriptParser::Blo if (ret2 < 0) return ERR_PARSE_ERROR; + int message_ret = 0; + if (as->message) { + message_ret = _parse_expression(codegen, as->message, p_stack_level + 1, false); + if (message_ret < 0) + return ERR_PARSE_ERROR; + } + codegen.opcodes.push_back(GDScriptFunction::OPCODE_ASSERT); codegen.opcodes.push_back(ret2); + codegen.opcodes.push_back(message_ret); #endif } break; case GDScriptParser::Node::TYPE_BREAKPOINT: { |