change error message for assigning from object

This commit is contained in:
Yuichi Nukiyama
2016-09-17 11:14:11 +09:00
parent 02547fe664
commit 632619861d
13 changed files with 144 additions and 38 deletions

View File

@@ -19,7 +19,7 @@ namespace ts {
export function getSymbolId(symbol: Symbol): number {
if (!symbol.id) {
symbol.id = nextSymbolId;
symbol.id = nextSymbolId;
nextSymbolId++;
}
@@ -6365,7 +6365,7 @@ namespace ts {
}
function tryElaborateErrorsForPrimitivesAndObjects(source: Type, target: Type) {
const sourceType = typeToString(source);
const sourceType = typeToString(source);
const targetType = typeToString(target);
if ((globalStringType === source && stringType === target) ||
@@ -6501,6 +6501,8 @@ namespace ts {
if (reportErrors) {
if (source.flags & TypeFlags.ObjectType && target.flags & TypeFlags.Primitive) {
tryElaborateErrorsForPrimitivesAndObjects(source, target);
} else if (source.symbol && source.flags & TypeFlags.ObjectType && globalObjectType === source) {
reportError(Diagnostics.The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead);
}
reportRelationError(headMessage, source, target);
}

View File

@@ -1959,6 +1959,10 @@
"category": "Error",
"code": 2695
},
"The 'Object' type is assignable to very few other types. Did you mean to use the 'any' type instead?": {
"category": "Error",
"code": 2696
},
"Import declaration '{0}' is using private name '{1}'.": {
"category": "Error",