Make inline blocks in GDScript more pythonic
Fixes #8001
(cherry picked from commit 18ab88b3f1
)
This commit is contained in:
parent
0afb9b579f
commit
0c650c2511
|
@ -76,7 +76,7 @@ bool GDParser::_enter_indent_block(BlockNode *p_block) {
|
||||||
|
|
||||||
// be more python-like
|
// be more python-like
|
||||||
int current = tab_level.back()->get();
|
int current = tab_level.back()->get();
|
||||||
tab_level.push_back(current + 1);
|
tab_level.push_back(current);
|
||||||
return true;
|
return true;
|
||||||
//_set_error("newline expected after ':'.");
|
//_set_error("newline expected after ':'.");
|
||||||
//return false;
|
//return false;
|
||||||
|
@ -1609,7 +1609,15 @@ void GDParser::_parse_block(BlockNode *p_block, bool p_static) {
|
||||||
p_block->statements.push_back(nl);
|
p_block->statements.push_back(nl);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
bool is_first_line = true;
|
||||||
|
|
||||||
while (true) {
|
while (true) {
|
||||||
|
if (!is_first_line && tab_level.back()->prev() && tab_level.back()->prev()->get() == indent_level) {
|
||||||
|
// pythonic single-line expression, don't parse future lines
|
||||||
|
tab_level.pop_back();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
is_first_line = false;
|
||||||
|
|
||||||
GDTokenizer::Token token = tokenizer->get_token();
|
GDTokenizer::Token token = tokenizer->get_token();
|
||||||
if (error_set)
|
if (error_set)
|
||||||
|
|
Loading…
Reference in New Issue