Lines Matching defs:op
23 void TSChecker::CheckBooleanLikeType(Type *leftType, Type *rightType, ir::AstNode *expr, lexer::TokenType op)
27 switch (op) {
51 {"The ", op, " operator is not allowed for boolean types. Consider using ", suggestedOp, " instead"},
57 ir::Expression *rightExpr, ir::AstNode *expr, lexer::TokenType op)
62 CheckBooleanLikeType(leftRightType->leftType, leftRightType->rightType, expr, op);
87 if (op == lexer::TokenType::PUNCTUATOR_UNSIGNED_RIGHT_SHIFT ||
88 op == lexer::TokenType::PUNCTUATOR_UNSIGNED_RIGHT_SHIFT_EQUAL) {
89 ThrowTypeError({"operator ", op, " cannot be applied to types 'bigint' and 'bigint'"}, expr->Start());
93 ThrowBinaryLikeError(op, leftRightType->leftType, leftRightType->rightType, expr->Start());
96 CheckAssignmentOperator(op, leftExpr, leftRightType->leftType, resultType);
101 ir::Expression *rightExpr, ir::AstNode *expr, lexer::TokenType op)
126 ThrowBinaryLikeError(op, leftRightType->leftType, leftRightType->rightType, expr->Start());
129 if (op == lexer::TokenType::PUNCTUATOR_PLUS_EQUAL) {
130 CheckAssignmentOperator(op, leftExpr, leftRightType->leftType, resultType);
137 ir::Expression *rightExpr, ir::AstNode *expr, lexer::TokenType op)
148 ThrowBinaryLikeError(op, leftRightType->leftType, leftRightType->rightType, expr->Start());
224 void TSChecker::CheckAssignmentOperator(lexer::TokenType op, ir::Expression *leftExpr, Type *leftType, Type *valueType)
226 if (IsAssignmentOperator(op)) {