Merge pull request #24346 from weswigham/metadata-change

Use unknown serialization kind when type symbol isnt resolved (#24332)
This commit is contained in:
Mohamed Hegazy
2018-05-23 08:42:34 -07:00
committed by GitHub
8 changed files with 97 additions and 4 deletions
+1 -1
View File
@@ -26677,7 +26677,7 @@ namespace ts {
// We might not be able to resolve type symbol so use unknown type in that case (eg error case)
if (!typeSymbol) {
return TypeReferenceSerializationKind.ObjectType;
return TypeReferenceSerializationKind.Unknown;
}
const type = getDeclaredTypeOfSymbol(typeSymbol);
if (type === unknownType) {
+4 -2
View File
@@ -1964,7 +1964,8 @@ namespace ts {
* @param node The type reference node.
*/
function serializeTypeReferenceNode(node: TypeReferenceNode): SerializedTypeNode {
switch (resolver.getTypeReferenceSerializationKind(node.typeName, currentScope)) {
const kind = resolver.getTypeReferenceSerializationKind(node.typeName, currentScope);
switch (kind) {
case TypeReferenceSerializationKind.Unknown:
const serialized = serializeEntityNameAsExpression(node.typeName, /*useFallback*/ true);
const temp = createTempVariable(hoistVariableDeclaration);
@@ -2006,8 +2007,9 @@ namespace ts {
return createIdentifier("Promise");
case TypeReferenceSerializationKind.ObjectType:
default:
return createIdentifier("Object");
default:
return Debug.assertNever(kind);
}
}