Browse Source

Merge pull request #45076 from ThakeeNathees/gdscript-operator-precedence-bug-fix

GDScript operator `+` `-` precedence bug fix
Rémi Verschelde 4 years ago
parent
commit
0dba21a4d1
2 changed files with 3 additions and 4 deletions
  1. 2 2
      modules/gdscript/gdscript_parser.cpp
  2. 1 2
      modules/gdscript/gdscript_parser.h

+ 2 - 2
modules/gdscript/gdscript_parser.cpp

@@ -2919,8 +2919,8 @@ GDScriptParser::ParseRule *GDScriptParser::get_rule(GDScriptTokenizer::Token::Ty
 		{ nullptr,                                          &GDScriptParser::parse_binary_operator,      	PREC_BIT_SHIFT }, // LESS_LESS,
 		{ nullptr,                                          &GDScriptParser::parse_binary_operator,      	PREC_BIT_SHIFT }, // LESS_LESS,
 		{ nullptr,                                          &GDScriptParser::parse_binary_operator,      	PREC_BIT_SHIFT }, // GREATER_GREATER,
 		{ nullptr,                                          &GDScriptParser::parse_binary_operator,      	PREC_BIT_SHIFT }, // GREATER_GREATER,
 		// Math
 		// Math
-		{ &GDScriptParser::parse_unary_operator,         	&GDScriptParser::parse_binary_operator,      	PREC_ADDITION }, // PLUS,
-		{ &GDScriptParser::parse_unary_operator,         	&GDScriptParser::parse_binary_operator,      	PREC_SUBTRACTION }, // MINUS,
+		{ &GDScriptParser::parse_unary_operator,         	&GDScriptParser::parse_binary_operator,      	PREC_ADDITION_SUBTRACTION }, // PLUS,
+		{ &GDScriptParser::parse_unary_operator,         	&GDScriptParser::parse_binary_operator,      	PREC_ADDITION_SUBTRACTION }, // MINUS,
 		{ nullptr,                                          &GDScriptParser::parse_binary_operator,      	PREC_FACTOR }, // STAR,
 		{ nullptr,                                          &GDScriptParser::parse_binary_operator,      	PREC_FACTOR }, // STAR,
 		{ nullptr,                                          &GDScriptParser::parse_binary_operator,      	PREC_FACTOR }, // SLASH,
 		{ nullptr,                                          &GDScriptParser::parse_binary_operator,      	PREC_FACTOR }, // SLASH,
 		{ nullptr,                                          &GDScriptParser::parse_binary_operator,      	PREC_FACTOR }, // PERCENT,
 		{ nullptr,                                          &GDScriptParser::parse_binary_operator,      	PREC_FACTOR }, // PERCENT,

+ 1 - 2
modules/gdscript/gdscript_parser.h

@@ -1172,8 +1172,7 @@ private:
 		PREC_BIT_XOR,
 		PREC_BIT_XOR,
 		PREC_BIT_AND,
 		PREC_BIT_AND,
 		PREC_BIT_SHIFT,
 		PREC_BIT_SHIFT,
-		PREC_SUBTRACTION,
-		PREC_ADDITION,
+		PREC_ADDITION_SUBTRACTION,
 		PREC_FACTOR,
 		PREC_FACTOR,
 		PREC_SIGN,
 		PREC_SIGN,
 		PREC_BIT_NOT,
 		PREC_BIT_NOT,