Lines Matching defs:binaryExpression
30 #include <ir/expressions/binaryExpression.h>
809 ir::Expression *binaryExpression = ParseBinaryExpression(lhsExpression);
811 return ParseAssignmentExpression(binaryExpression);
1249 static inline bool ShouldBinaryExpressionBeAmended(ir::BinaryExpression *binaryExpression,
1252 return GetOperatorPrecedence(binaryExpression->OperatorType()) <= GetOperatorPrecedence(operatorType) &&
1253 !binaryExpression->IsGrouped() &&
1255 binaryExpression->OperatorType() != lexer::TokenType::PUNCTUATOR_EXPONENTIATION);
1293 ir::BinaryExpression *binaryExpression = rightExpr->AsBinaryExpression();
1296 while (binaryExpression->Left()->IsBinaryExpression() && shouldBeAmended) {
1297 parentExpression = binaryExpression;
1299 binaryExpression = binaryExpression->Left()->AsBinaryExpression();
1300 shouldBeAmended = ShouldBinaryExpressionBeAmended(binaryExpression, operatorType);
1304 auto *leftExprNode = AllocNode<ir::BinaryExpression>(left, binaryExpression->Left(), operatorType);
1305 leftExprNode->SetRange({left->Start(), binaryExpression->Left()->End()});
1307 binaryExpression->SetLeft(leftExprNode);