浏览代码

Fix incorrect precedence of pow operator in GDScript

Yuri Rubinsky 3 年之前
父节点
当前提交
be8eb6625e
共有 2 个文件被更改,包括 2 次插入1 次删除
  1. 1 1
      modules/gdscript/gdscript_parser.cpp
  2. 1 0
      modules/gdscript/gdscript_parser.h

+ 1 - 1
modules/gdscript/gdscript_parser.cpp

@@ -3273,7 +3273,7 @@ GDScriptParser::ParseRule *GDScriptParser::get_rule(GDScriptTokenizer::Token::Ty
 		{ &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_STAR,
+		{ nullptr,                                          &GDScriptParser::parse_binary_operator,      	PREC_POWER }, // STAR_STAR,
 		{ nullptr,                                          &GDScriptParser::parse_binary_operator,      	PREC_FACTOR }, // SLASH,
 		{ nullptr,                                          &GDScriptParser::parse_binary_operator,      	PREC_FACTOR }, // PERCENT,
 		// Assignment

+ 1 - 0
modules/gdscript/gdscript_parser.h

@@ -1265,6 +1265,7 @@ private:
 		PREC_FACTOR,
 		PREC_SIGN,
 		PREC_BIT_NOT,
+		PREC_POWER,
 		PREC_TYPE_TEST,
 		PREC_AWAIT,
 		PREC_CALL,