Skip to content

Commit 120fa19

Browse files
committed
Remove duplicated functions
1 parent 4fe3373 commit 120fa19

File tree

2 files changed

+15
-63
lines changed

2 files changed

+15
-63
lines changed

src/compiler/checker.ts

Lines changed: 13 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -4727,23 +4727,6 @@ namespace ts {
47274727
return links.resolvedType;
47284728
}
47294729

4730-
function getTypeFromJSDocFunctionType(node: JSDocFunctionType): Type {
4731-
Debug.assert(!!node.symbol);
4732-
const links = getNodeLinks(node);
4733-
if (!links.resolvedType) {
4734-
links.resolvedType = createObjectType(TypeFlags.Anonymous, node.symbol);
4735-
}
4736-
return links.resolvedType;
4737-
}
4738-
4739-
function getTypeFromJSDocRecordType(node: JSDocRecordType): Type {
4740-
const links = getNodeLinks(node);
4741-
if (!links.resolvedType) {
4742-
links.resolvedType = createObjectType(TypeFlags.Anonymous, node.symbol);
4743-
}
4744-
return links.resolvedType;
4745-
}
4746-
47474730
function getTypeFromJSDocVariadicType(node: JSDocVariadicType): Type {
47484731
const links = getNodeLinks(node);
47494732
if (!links.resolvedType) {
@@ -4753,27 +4736,6 @@ namespace ts {
47534736
return links.resolvedType;
47544737
}
47554738

4756-
function getTypeFromJSDocTypeReference(node: JSDocTypeReference): Type {
4757-
return getTypeFromTypeReference(node);
4758-
}
4759-
4760-
function getTypeFromJSDocArrayType(node: JSDocArrayType): Type {
4761-
const links = getNodeLinks(node);
4762-
if (!links.resolvedType) {
4763-
links.resolvedType = createArrayType(getTypeFromTypeNode(node.elementType));
4764-
}
4765-
return links.resolvedType;
4766-
}
4767-
4768-
function getTypeFromJSDocUnionType(node: JSDocUnionType): Type {
4769-
const links = getNodeLinks(node);
4770-
if (!links.resolvedType) {
4771-
const types = map(node.types, getTypeFromTypeNode);
4772-
links.resolvedType = getUnionType(types, /*noSubtypeReduction*/ true);
4773-
}
4774-
return links.resolvedType;
4775-
}
4776-
47774739
function getTypeFromJSDocTupleType(node: JSDocTupleType): Type {
47784740
const links = getNodeLinks(node);
47794741
if (!links.resolvedType) {
@@ -4826,6 +4788,8 @@ namespace ts {
48264788
function getTypeFromTypeNode(node: TypeNode): Type {
48274789
switch (node.kind) {
48284790
case SyntaxKind.AnyKeyword:
4791+
case SyntaxKind.JSDocAllType:
4792+
case SyntaxKind.JSDocUnknownType:
48294793
return anyType;
48304794
case SyntaxKind.StringKeyword:
48314795
return stringType;
@@ -4842,6 +4806,7 @@ namespace ts {
48424806
case SyntaxKind.StringLiteralType:
48434807
return getTypeFromStringLiteralTypeNode(<StringLiteralTypeNode>node);
48444808
case SyntaxKind.TypeReference:
4809+
case SyntaxKind.JSDocTypeReference:
48454810
return getTypeFromTypeReference(<TypeReferenceNode>node);
48464811
case SyntaxKind.TypePredicate:
48474812
return getTypeFromPredicateTypeNode(<TypePredicateNode>node);
@@ -4850,53 +4815,38 @@ namespace ts {
48504815
case SyntaxKind.TypeQuery:
48514816
return getTypeFromTypeQueryNode(<TypeQueryNode>node);
48524817
case SyntaxKind.ArrayType:
4818+
case SyntaxKind.JSDocArrayType:
48534819
return getTypeFromArrayTypeNode(<ArrayTypeNode>node);
48544820
case SyntaxKind.TupleType:
48554821
return getTypeFromTupleTypeNode(<TupleTypeNode>node);
48564822
case SyntaxKind.UnionType:
4823+
case SyntaxKind.JSDocUnionType:
48574824
return getTypeFromUnionTypeNode(<UnionTypeNode>node);
48584825
case SyntaxKind.IntersectionType:
48594826
return getTypeFromIntersectionTypeNode(<IntersectionTypeNode>node);
48604827
case SyntaxKind.ParenthesizedType:
4861-
return getTypeFromTypeNode((<ParenthesizedTypeNode>node).type);
4828+
case SyntaxKind.JSDocNullableType:
4829+
case SyntaxKind.JSDocNonNullableType:
4830+
case SyntaxKind.JSDocConstructorType:
4831+
case SyntaxKind.JSDocThisType:
4832+
case SyntaxKind.JSDocOptionalType:
4833+
return getTypeFromTypeNode((<ParenthesizedTypeNode | JSDocTypeReferencingNode>node).type);
48624834
case SyntaxKind.FunctionType:
48634835
case SyntaxKind.ConstructorType:
48644836
case SyntaxKind.TypeLiteral:
4837+
case SyntaxKind.JSDocFunctionType:
4838+
case SyntaxKind.JSDocRecordType:
48654839
return getTypeFromTypeLiteralOrFunctionOrConstructorTypeNode(node);
48664840
// This function assumes that an identifier or qualified name is a type expression
48674841
// Callers should first ensure this by calling isTypeNode
48684842
case SyntaxKind.Identifier:
48694843
case SyntaxKind.QualifiedName:
48704844
const symbol = getSymbolAtLocation(node);
48714845
return symbol && getDeclaredTypeOfSymbol(symbol);
4872-
case SyntaxKind.JSDocAllType:
4873-
return anyType;
4874-
case SyntaxKind.JSDocUnknownType:
4875-
return unknownType;
4876-
case SyntaxKind.JSDocArrayType:
4877-
return getTypeFromJSDocArrayType(<JSDocArrayType>node);
48784846
case SyntaxKind.JSDocTupleType:
48794847
return getTypeFromJSDocTupleType(<JSDocTupleType>node);
4880-
case SyntaxKind.JSDocUnionType:
4881-
return getTypeFromJSDocUnionType(<JSDocUnionType>node);
4882-
case SyntaxKind.JSDocNullableType:
4883-
return getTypeFromTypeNode((<JSDocNullableType>node).type);
4884-
case SyntaxKind.JSDocNonNullableType:
4885-
return getTypeFromTypeNode((<JSDocNonNullableType>node).type);
4886-
case SyntaxKind.JSDocTypeReference:
4887-
return getTypeFromJSDocTypeReference(<JSDocTypeReference>node);
4888-
case SyntaxKind.JSDocOptionalType:
4889-
return getTypeFromTypeNode((<JSDocOptionalType>node).type);
4890-
case SyntaxKind.JSDocFunctionType:
4891-
return getTypeFromJSDocFunctionType(<JSDocFunctionType>node);
48924848
case SyntaxKind.JSDocVariadicType:
48934849
return getTypeFromJSDocVariadicType(<JSDocVariadicType>node);
4894-
case SyntaxKind.JSDocConstructorType:
4895-
return getTypeFromTypeNode((<JSDocConstructorType>node).type);
4896-
case SyntaxKind.JSDocRecordType:
4897-
return getTypeFromJSDocRecordType(<JSDocRecordType>node);
4898-
case SyntaxKind.JSDocThisType:
4899-
return getTypeFromTypeNode((<JSDocThisType>node).type);
49004850
default:
49014851
return unknownType;
49024852
}

src/compiler/types.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1475,6 +1475,8 @@ namespace ts {
14751475
type: JSDocType;
14761476
}
14771477

1478+
export type JSDocTypeReferencingNode = JSDocThisType | JSDocConstructorType | JSDocVariadicType | JSDocOptionalType | JSDocNullableType | JSDocNonNullableType;
1479+
14781480
// @kind(SyntaxKind.JSDocRecordMember)
14791481
export interface JSDocRecordMember extends PropertySignature {
14801482
name: Identifier | LiteralExpression;

0 commit comments

Comments
 (0)