Lines Matching defs:expr
51 bool ReplaceStrictEqualByNormalEqual(ir::BinaryExpression *expr)
53 auto left = expr->Left()->TsType();
54 auto isBigintLeft = (left != nullptr && left->IsETSBigIntType()) || expr->Left()->IsBigIntLiteral();
55 auto right = expr->Right()->TsType();
56 auto isBigintRight = (right != nullptr && right->IsETSBigIntType()) || expr->Right()->IsBigIntLiteral();
61 if (expr->OperatorType() == lexer::TokenType::PUNCTUATOR_STRICT_EQUAL) {
62 expr->SetOperator(lexer::TokenType::PUNCTUATOR_EQUAL);
63 } else if (expr->OperatorType() == lexer::TokenType::PUNCTUATOR_NOT_STRICT_EQUAL) {
64 expr->SetOperator(lexer::TokenType::PUNCTUATOR_NOT_EQUAL);
73 bool RemoveConst(ir::BinaryExpression *expr)
76 auto left = expr->Left()->TsType();
82 auto right = expr->Right()->TsType();
109 auto expr = ast->AsBinaryExpression();
110 bool doCheck = ReplaceStrictEqualByNormalEqual(expr);
111 doCheck |= RemoveConst(expr);
113 expr->Check(checker);