From b4969373b3475799d6b24cdffeda4659c37f0b8a Mon Sep 17 00:00:00 2001 From: Juan Linietsky Date: Sat, 5 Apr 2014 18:50:09 -0300 Subject: -HttpClient: ’Content-Length’ is added to httprequest if not provided in the headers and a body exists -expressions in GDScript can take multiple lines if inside parenthesis (python-like) -Added \ to force linebreaks to GDscript (python-like) -added exclude objects from raycast -fixed crashes --- modules/gdscript/gd_parser.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'modules/gdscript/gd_parser.cpp') diff --git a/modules/gdscript/gd_parser.cpp b/modules/gdscript/gd_parser.cpp index f962f8c5f..f540660cd 100644 --- a/modules/gdscript/gd_parser.cpp +++ b/modules/gdscript/gd_parser.cpp @@ -174,10 +174,19 @@ GDParser::Node* GDParser::_parse_expression(Node *p_parent,bool p_static,bool p_ /* Parse Operand */ /*****************/ + if (parenthesis>0) { + //remove empty space (only allowed if inside parenthesis + while(tokenizer->get_token()==GDTokenizer::TK_NEWLINE) { + tokenizer->advance(); + } + } + if (tokenizer->get_token()==GDTokenizer::TK_PARENTHESIS_OPEN) { //subexpression () tokenizer->advance(); + parenthesis++; Node* subexpr = _parse_expression(p_parent,p_static); + parenthesis--; if (!subexpr) return NULL; @@ -629,6 +638,12 @@ GDParser::Node* GDParser::_parse_expression(Node *p_parent,bool p_static,bool p_ /* Parse Operator */ /******************/ + if (parenthesis>0) { + //remove empty space (only allowed if inside parenthesis + while(tokenizer->get_token()==GDTokenizer::TK_NEWLINE) { + tokenizer->advance(); + } + } Expression e; e.is_op=false; @@ -2475,6 +2490,7 @@ void GDParser::clear() { tab_level.push_back(0); error_line=0; error_column=0; + parenthesis=0; current_export.type=Variant::NIL; error=""; -- cgit v1.2.3-70-g09d2