GDScript debugger incorrect error line fixed

if the first line of an else or an elif throws a runtime error the
debugger shows incorrect line number.

(cherry picked from commit 9325671faa)
This commit is contained in:
Thakee Nathees 2020-04-21 10:05:11 +05:30 committed by Rémi Verschelde
parent 5084043373
commit bf9df88a7c
1 changed files with 4 additions and 0 deletions

View File

@ -1381,6 +1381,10 @@ Error GDScriptCompiler::_parse_block(CodeGen &codegen, const GDScriptParser::Blo
codegen.opcodes.push_back(0); codegen.opcodes.push_back(0);
codegen.opcodes.write[else_addr] = codegen.opcodes.size(); codegen.opcodes.write[else_addr] = codegen.opcodes.size();
codegen.opcodes.push_back(GDScriptFunction::OPCODE_LINE);
codegen.opcodes.push_back(cf->body_else->line);
codegen.current_line = cf->body_else->line;
Error err2 = _parse_block(codegen, cf->body_else, p_stack_level, p_break_addr, p_continue_addr); Error err2 = _parse_block(codegen, cf->body_else, p_stack_level, p_break_addr, p_continue_addr);
if (err2) if (err2)
return err2; return err2;