@@ -2473,7 +2473,7 @@ module ts {
24732473 let declaration = <ClassDeclaration>getDeclarationOfKind(type.symbol, SyntaxKind.ClassDeclaration);
24742474 let baseTypeNode = getClassExtendsHeritageClauseElement(declaration);
24752475 if (baseTypeNode) {
2476- let baseType = getTypeFromExpressionWithTypeArguments (baseTypeNode);
2476+ let baseType = getTypeFromTypeNode (baseTypeNode);
24772477 if (baseType !== unknownType) {
24782478 if (getTargetType(baseType).flags & TypeFlags.Class) {
24792479 if (type !== baseType && !hasBaseType(<InterfaceType>baseType, type)) {
@@ -2495,7 +2495,7 @@ module ts {
24952495 for (let declaration of type.symbol.declarations) {
24962496 if (declaration.kind === SyntaxKind.InterfaceDeclaration && getInterfaceBaseTypeNodes(<InterfaceDeclaration>declaration)) {
24972497 for (let node of getInterfaceBaseTypeNodes(<InterfaceDeclaration>declaration)) {
2498- let baseType = getTypeFromExpressionWithTypeArguments (node);
2498+ let baseType = getTypeFromTypeNode (node);
24992499
25002500 if (baseType !== unknownType) {
25012501 if (getTargetType(baseType).flags & (TypeFlags.Class | TypeFlags.Interface)) {
@@ -3359,14 +3359,6 @@ module ts {
33593359 }
33603360 }
33613361
3362- function getTypeFromTypeReference(node: TypeReferenceNode): Type {
3363- return getTypeFromTypeReferenceOrExpressionWithTypeArguments(node);
3364- }
3365-
3366- function getTypeFromExpressionWithTypeArguments(node: ExpressionWithTypeArguments): Type {
3367- return getTypeFromTypeReferenceOrExpressionWithTypeArguments(node);
3368- }
3369-
33703362 function getTypeFromTypeReferenceOrExpressionWithTypeArguments(node: TypeReferenceNode | ExpressionWithTypeArguments): Type {
33713363 let links = getNodeLinks(node);
33723364 if (!links.resolvedType) {
@@ -3667,9 +3659,9 @@ module ts {
36673659 case SyntaxKind.StringLiteral:
36683660 return getTypeFromStringLiteral(<StringLiteral>node);
36693661 case SyntaxKind.TypeReference:
3670- return getTypeFromTypeReference (<TypeReferenceNode>node);
3662+ return getTypeFromTypeReferenceOrExpressionWithTypeArguments (<TypeReferenceNode>node);
36713663 case SyntaxKind.ExpressionWithTypeArguments:
3672- return getTypeFromExpressionWithTypeArguments (<ExpressionWithTypeArguments>node);
3664+ return getTypeFromTypeReferenceOrExpressionWithTypeArguments (<ExpressionWithTypeArguments>node);
36733665 case SyntaxKind.TypeQuery:
36743666 return getTypeFromTypeQueryNode(<TypeQueryNode>node);
36753667 case SyntaxKind.ArrayType:
@@ -9997,7 +9989,7 @@ module ts {
99979989
99989990 checkExpressionWithTypeArguments(typeRefNode);
99999991 if (produceDiagnostics) {
10000- let t = getTypeFromExpressionWithTypeArguments (typeRefNode);
9992+ let t = getTypeFromTypeNode (typeRefNode);
100019993 if (t !== unknownType) {
100029994 let declaredType = (t.flags & TypeFlags.Reference) ? (<TypeReference>t).target : t;
100039995 if (declaredType.flags & (TypeFlags.Class | TypeFlags.Interface)) {
@@ -11695,7 +11687,7 @@ module ts {
1169511687 // * The serialized type of a TypeReference with a value declaration is its entity name.
1169611688 // * The serialized type of a TypeReference with a call or construct signature is "Function".
1169711689 // * The serialized type of any other type is "Object".
11698- let type = getTypeFromTypeReference (node);
11690+ let type = getTypeFromTypeNode (node);
1169911691 if (type.flags & TypeFlags.Void) {
1170011692 return "void 0";
1170111693 }
0 commit comments