mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-05-20 13:45:34 -05:00
Made fixes based on CR feedback
This commit is contained in:
@@ -5023,12 +5023,15 @@ module ts {
|
||||
if (rightType.flags & (TypeFlags.Undefined | TypeFlags.Null)) rightType = leftType;
|
||||
|
||||
var suggestedOperator: SyntaxKind;
|
||||
// if both operands are booleans and we have a guess as to what the user meant to do return a helpful error
|
||||
if ((leftType.flags & TypeFlags.Boolean) && (rightType.flags & TypeFlags.Boolean) && (suggestedOperator = getSuggestedBooleanOperator(node.operator)) !== undefined) {
|
||||
// if a user tries to apply a bitwise operator to 2 boolean operands
|
||||
// try and return them a helpful suggestion
|
||||
if ((leftType.flags & TypeFlags.Boolean) &&
|
||||
(rightType.flags & TypeFlags.Boolean) &&
|
||||
(suggestedOperator = getSuggestedBooleanOperator(node.operator)) !== undefined) {
|
||||
error(node, Diagnostics.The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead, tokenToString(node.operator), tokenToString(suggestedOperator));
|
||||
}
|
||||
// otherwise just check each operand seperately and report errors as normal
|
||||
else {
|
||||
// otherwise just check each operand seperately and report errors as normal
|
||||
var leftOk = checkArithmeticOperandType(node.left, leftType, Diagnostics.The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_or_an_enum_type);
|
||||
var rightOk = checkArithmeticOperandType(node.right, rightType, Diagnostics.The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_or_an_enum_type);
|
||||
if (leftOk && rightOk) {
|
||||
@@ -5099,7 +5102,6 @@ module ts {
|
||||
return rightType;
|
||||
}
|
||||
|
||||
// if a user tries to apply an innappropriate operator to 2 boolean operands try and return them a helpful suggestion
|
||||
function getSuggestedBooleanOperator(operator: SyntaxKind): SyntaxKind {
|
||||
switch (operator) {
|
||||
case SyntaxKind.BarToken:
|
||||
|
||||
@@ -260,7 +260,7 @@ module ts {
|
||||
Property_0_is_protected_in_type_1_but_public_in_type_2: { code: 2444, category: DiagnosticCategory.Error, key: "Property '{0}' is protected in type '{1}' but public in type '{2}'." },
|
||||
Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses: { code: 2445, category: DiagnosticCategory.Error, key: "Property '{0}' is protected and only accessible within class '{1}' and its subclasses." },
|
||||
Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1: { code: 2446, category: DiagnosticCategory.Error, key: "Property '{0}' is protected and only accessible through an instance of class '{1}'." },
|
||||
The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead: { code: 2447, category: DiagnosticCategory.Error, key: "The '{0}' operator is not allowed for boolean types. Consider using {1} instead." },
|
||||
The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead: { code: 2447, category: DiagnosticCategory.Error, key: "The '{0}' operator is not allowed for boolean types. Consider using '{1}' instead." },
|
||||
Import_declaration_0_is_using_private_name_1: { code: 4000, category: DiagnosticCategory.Error, key: "Import declaration '{0}' is using private name '{1}'." },
|
||||
Type_parameter_0_of_exported_class_has_or_is_using_name_1_from_private_module_2: { code: 4001, category: DiagnosticCategory.Error, key: "Type parameter '{0}' of exported class has or is using name '{1}' from private module '{2}'." },
|
||||
Type_parameter_0_of_exported_class_has_or_is_using_private_name_1: { code: 4002, category: DiagnosticCategory.Error, key: "Type parameter '{0}' of exported class has or is using private name '{1}'." },
|
||||
|
||||
@@ -1032,7 +1032,7 @@
|
||||
"category": "Error",
|
||||
"code": 2446
|
||||
},
|
||||
"The '{0}' operator is not allowed for boolean types. Consider using {1} instead.": {
|
||||
"The '{0}' operator is not allowed for boolean types. Consider using '{1}' instead.": {
|
||||
"category": "Error",
|
||||
"code": 2447
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user