diff options
author | George Marques <george@gmarqu.es> | 2018-09-16 18:29:17 -0300 |
---|---|---|
committer | George Marques <george@gmarqu.es> | 2018-09-19 11:17:46 -0300 |
commit | 825e85ab23ed60693eaf3970d544fe9bd15b4b07 (patch) | |
tree | 4fea7e73dac74f154037ef43191ed7591aa1ca66 /modules/gdscript/gdscript_parser.cpp | |
parent | 02acb07d81e598c7b2689a77d8a8ac0ee64c2714 (diff) | |
download | redot-engine-825e85ab23ed60693eaf3970d544fe9bd15b4b07.tar.gz |
GDScript: Error on empty blocks at the end of file
Fix #15415
Diffstat (limited to 'modules/gdscript/gdscript_parser.cpp')
-rw-r--r-- | modules/gdscript/gdscript_parser.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/modules/gdscript/gdscript_parser.cpp b/modules/gdscript/gdscript_parser.cpp index 3dd335c45f..ea1287374b 100644 --- a/modules/gdscript/gdscript_parser.cpp +++ b/modules/gdscript/gdscript_parser.cpp @@ -81,8 +81,11 @@ bool GDScriptParser::_enter_indent_block(BlockNode *p_block) { } tokenizer->advance(); - if (tokenizer->get_token() != GDScriptTokenizer::TK_NEWLINE) { + if (tokenizer->get_token() == GDScriptTokenizer::TK_EOF) { + return false; + } + if (tokenizer->get_token() != GDScriptTokenizer::TK_NEWLINE) { // be more python-like int current = tab_level.back()->get(); tab_level.push_back(current); @@ -92,10 +95,11 @@ bool GDScriptParser::_enter_indent_block(BlockNode *p_block) { } while (true) { - if (tokenizer->get_token() != GDScriptTokenizer::TK_NEWLINE) { return false; //wtf + } else if (tokenizer->get_token(1) == GDScriptTokenizer::TK_EOF) { + return false; } else if (tokenizer->get_token(1) != GDScriptTokenizer::TK_NEWLINE) { int indent = tokenizer->get_token_line_indent(); |