Lines Matching defs:unboxedR
205 auto [leftType, rightType, unboxedL, unboxedR] = types;
209 RepairTypeErrorsInOperands(&unboxedL, &unboxedR);
216 ApplyBinaryOperatorPromotion(unboxedL, unboxedR, TypeFlag::ETS_CONVERTIBLE_TO_NUMERIC, !isEqualOp);
219 FlagExpressionWithUnboxing(rightType, unboxedR, right);
266 auto [leftType, rightType, unboxedL, unboxedR] = types;
270 RepairTypeErrorsInOperands(&unboxedL, &unboxedR);
290 ApplyBinaryOperatorPromotion(unboxedL, unboxedR, TypeFlag::ETS_CONVERTIBLE_TO_NUMERIC, !isEqualOp);
293 FlagExpressionWithUnboxing(rightType, unboxedR, right);
316 auto [leftType, rightType, unboxedL, unboxedR] = types;
321 RepairTypeErrorWithDefault(&unboxedR, GlobalIntType());
329 auto promotedRightType = ApplyUnaryOperatorPromotion(unboxedR, false, !isEqualOp);
332 FlagExpressionWithUnboxing(rightType, unboxedR, right);
375 auto [leftType, rightType, unboxedL, unboxedR] = types;
378 RepairTypeErrorsInOperands(&unboxedL, &unboxedR);
388 if (unboxedL != nullptr && unboxedL->HasTypeFlag(checker::TypeFlag::ETS_BOOLEAN) && unboxedR != nullptr &&
389 unboxedR->HasTypeFlag(checker::TypeFlag::ETS_BOOLEAN)) {
391 FlagExpressionWithUnboxing(rightType, unboxedR, right);
392 return HandleBooleanLogicalOperators(unboxedL, unboxedR, operationType);
396 ApplyBinaryOperatorPromotion(unboxedL, unboxedR, TypeFlag::ETS_CONVERTIBLE_TO_NUMERIC, !isEqualOp);
399 FlagExpressionWithUnboxing(rightType, unboxedR, right);
415 checker::Type *rightType, Type *unboxedL, Type *unboxedR)
418 RepairTypeErrorsInOperands(&unboxedL, &unboxedR);
428 if (unboxedL == nullptr || !unboxedL->IsConditionalExprType() || unboxedR == nullptr ||
429 !unboxedR->IsConditionalExprType()) {
438 if (unboxedR->HasTypeFlag(checker::TypeFlag::ETS_PRIMITIVE)) {
439 FlagExpressionWithUnboxing(rightType, unboxedR, right);
443 return HandleBooleanLogicalOperatorsExtended(unboxedL, unboxedR, expr->AsBinaryExpression());
565 Type *unboxedR)
568 RepairTypeErrorsInOperands(&unboxedL, &unboxedR);
594 if (unboxedL != nullptr && unboxedL->HasTypeFlag(checker::TypeFlag::ETS_BOOLEAN) && unboxedR != nullptr &&
595 unboxedR->HasTypeFlag(checker::TypeFlag::ETS_BOOLEAN)) {
596 if (unboxedL->HasTypeFlag(checker::TypeFlag::CONSTANT) && unboxedR->HasTypeFlag(checker::TypeFlag::CONSTANT)) {
597 bool res = unboxedL->AsETSBooleanType()->GetValue() == unboxedR->AsETSBooleanType()->GetValue();
604 FlagExpressionWithUnboxing(rightType, unboxedR, right);
655 Type *unboxedL, Type *unboxedR)
658 RepairTypeErrorsInOperands(&unboxedL, &unboxedR);
672 ApplyBinaryOperatorPromotion(unboxedL, unboxedR, TypeFlag::ETS_PRIMITIVE, !isEqualOp);
675 FlagExpressionWithUnboxing(rightType, unboxedR, right);
681 if ((unboxedL != nullptr) && (unboxedR != nullptr) &&
682 (unboxedL->IsETSBooleanType() != unboxedR->IsETSBooleanType())) {
841 Type *unboxedR;
858 typeParams.unboxedL, typeParams.unboxedR);
869 typeParams.unboxedL, typeParams.unboxedR);
881 typeParams.unboxedL, typeParams.unboxedR);
1024 auto [leftType, rightType, unboxedL, unboxedR] = types;
1038 std::make_tuple(leftType, rightType, unboxedL, unboxedR));
1043 {leftType, rightType, unboxedL, unboxedR});
1080 Type *unboxedR = isLogicalExtendedOperator ? ETSBuiltinTypeAsConditionalType(rightType)
1100 std::make_tuple(leftType, rightType, unboxedL, unboxedR));