@@ -2279,7 +2279,7 @@ namespace ts {
2279
2279
}
2280
2280
2281
2281
function typeToString(type: Type, enclosingDeclaration?: Node, flags?: TypeFormatFlags): string {
2282
- const typeNode = nodeBuilder.typeToTypeNode(type, enclosingDeclaration, toNodeBuilderFlags(flags) | NodeBuilderFlags.ignoreErrors | NodeBuilderFlags.WriteTypeParametersInQualifiedName);
2282
+ const typeNode = nodeBuilder.typeToTypeNode(type, enclosingDeclaration, toNodeBuilderFlags(flags) | NodeBuilderFlags.IgnoreErrors | NodeBuilderFlags.WriteTypeParametersInQualifiedName);
2283
2283
Debug.assert(typeNode !== undefined, "should always get typenode?");
2284
2284
const options = { removeComments: true };
2285
2285
const writer = createTextWriter("");
@@ -2361,7 +2361,7 @@ namespace ts {
2361
2361
2362
2362
function typeToTypeNodeHelper(type: Type, context: NodeBuilderContext): TypeNode {
2363
2363
const inTypeAlias = context.flags & NodeBuilderFlags.InTypeAlias;
2364
- context.flags &= ~( NodeBuilderFlags.InTypeAlias) ;
2364
+ context.flags &= ~NodeBuilderFlags.InTypeAlias;
2365
2365
2366
2366
if (!type) {
2367
2367
context.encounteredError = true;
@@ -2419,7 +2419,7 @@ namespace ts {
2419
2419
return createKeywordTypeNode(SyntaxKind.ObjectKeyword);
2420
2420
}
2421
2421
if (type.flags & TypeFlags.TypeParameter && (type as TypeParameter).isThisType) {
2422
- if (context.flags & NodeBuilderFlags.inObjectTypeLiteral ) {
2422
+ if (context.flags & NodeBuilderFlags.InObjectTypeLiteral ) {
2423
2423
if (!context.encounteredError && !(context.flags & NodeBuilderFlags.AllowThisInObjectLiteral)) {
2424
2424
context.encounteredError = true;
2425
2425
}
@@ -2441,12 +2441,12 @@ namespace ts {
2441
2441
if (!inTypeAlias && type.aliasSymbol &&
2442
2442
isSymbolAccessible(type.aliasSymbol, context.enclosingDeclaration, SymbolFlags.Type, /*shouldComputeAliasesToMakeVisible*/ false).accessibility === SymbolAccessibility.Accessible) {
2443
2443
const name = symbolToTypeReferenceName(type.aliasSymbol);
2444
- const typeArgumentNodes = type.aliasTypeArguments && mapToTypeNodeArray (type.aliasTypeArguments, context);
2444
+ const typeArgumentNodes = mapToTypeNodes (type.aliasTypeArguments, context);
2445
2445
return createTypeReferenceNode(name, typeArgumentNodes);
2446
2446
}
2447
2447
if (type.flags & (TypeFlags.Union | TypeFlags.Intersection)) {
2448
2448
const types = type.flags & TypeFlags.Union ? formatUnionTypes((<UnionType>type).types) : (<IntersectionType>type).types;
2449
- const typeNodes = types && mapToTypeNodeArray (types, context);
2449
+ const typeNodes = mapToTypeNodes (types, context);
2450
2450
if (typeNodes && typeNodes.length > 0) {
2451
2451
const unionOrIntersectionTypeNode = createUnionOrIntersectionTypeNode(type.flags & TypeFlags.Union ? SyntaxKind.UnionType : SyntaxKind.IntersectionType, typeNodes);
2452
2452
return unionOrIntersectionTypeNode;
@@ -2567,7 +2567,7 @@ namespace ts {
2567
2567
}
2568
2568
2569
2569
const savedFlags = context.flags;
2570
- context.flags |= NodeBuilderFlags.inObjectTypeLiteral ;
2570
+ context.flags |= NodeBuilderFlags.InObjectTypeLiteral ;
2571
2571
const members = createTypeNodesFromResolvedType(resolved);
2572
2572
context.flags = savedFlags;
2573
2573
const typeLiteralNode = createTypeLiteralNode(members);
@@ -2598,8 +2598,7 @@ namespace ts {
2598
2598
}
2599
2599
else if (type.target.objectFlags & ObjectFlags.Tuple) {
2600
2600
if (typeArguments.length > 0) {
2601
- const slice = typeArguments.slice(0, getTypeReferenceArity(type));
2602
- const tupleConstituentNodes = slice && mapToTypeNodeArray(slice, context);
2601
+ const tupleConstituentNodes = mapToTypeNodes(typeArguments.slice(0, getTypeReferenceArity(type)), context);
2603
2602
if (tupleConstituentNodes && tupleConstituentNodes.length > 0) {
2604
2603
return createTupleTypeNode(tupleConstituentNodes);
2605
2604
}
@@ -2625,8 +2624,8 @@ namespace ts {
2625
2624
// When type parameters are their own type arguments for the whole group (i.e. we have
2626
2625
// the default outer type arguments), we don't show the group.
2627
2626
if (!rangeEquals(outerTypeParameters, typeArguments, start, i)) {
2628
- const slice = typeArguments.slice(start, i);
2629
- const typeArgumentNodes = slice && createNodeArray(mapToTypeNodeArray(slice, context) );
2627
+ const typeArgumentSlice = mapToTypeNodes( typeArguments.slice(start, i), context );
2628
+ const typeArgumentNodes = typeArgumentSlice && createNodeArray(typeArgumentSlice );
2630
2629
const namePart = symbolToTypeReferenceName(parent);
2631
2630
(namePart.kind === SyntaxKind.Identifier ? <Identifier>namePart : namePart.right).typeArguments = typeArgumentNodes;
2632
2631
@@ -2654,10 +2653,9 @@ namespace ts {
2654
2653
}
2655
2654
2656
2655
let typeArgumentNodes: TypeNode[] | undefined;
2657
- if (some( typeArguments) ) {
2656
+ if (typeArguments.length > 0 ) {
2658
2657
const typeParameterCount = (type.target.typeParameters || emptyArray).length;
2659
- const slice = typeArguments && typeArguments.slice(i, typeParameterCount);
2660
- typeArgumentNodes = slice && mapToTypeNodeArray(slice, context);
2658
+ typeArgumentNodes = mapToTypeNodes(typeArguments.slice(i, typeParameterCount), context);
2661
2659
}
2662
2660
2663
2661
if (typeArgumentNodes) {
@@ -2740,17 +2738,19 @@ namespace ts {
2740
2738
}
2741
2739
}
2742
2740
2743
- function mapToTypeNodeArray(types: Type[], context: NodeBuilderContext): TypeNode[] {
2744
- const result = [];
2745
- for (let i = 0; i < types.length; ++i) {
2746
- const type = types[i];
2747
- const typeNode = typeToTypeNodeHelper(type, context);
2748
- if (typeNode) {
2749
- result.push(typeNode);
2741
+ function mapToTypeNodes(types: Type[], context: NodeBuilderContext): TypeNode[] {
2742
+ if (some(types)) {
2743
+ const result = [];
2744
+ for (let i = 0; i < types.length; ++i) {
2745
+ const type = types[i];
2746
+ const typeNode = typeToTypeNodeHelper(type, context);
2747
+ if (typeNode) {
2748
+ result.push(typeNode);
2749
+ }
2750
2750
}
2751
- }
2752
2751
2753
- return result;
2752
+ return result;
2753
+ }
2754
2754
}
2755
2755
2756
2756
function indexInfoToIndexSignatureDeclarationHelper(indexInfo: IndexInfo, kind: IndexKind, context: NodeBuilderContext): IndexSignatureDeclaration {
@@ -2890,9 +2890,7 @@ namespace ts {
2890
2890
}
2891
2891
}
2892
2892
2893
- if (typeParameters && typeParameters.length > 0) {
2894
- typeParameterNodes = mapToTypeNodeArray(typeParameters, context);
2895
- }
2893
+ typeParameterNodes = mapToTypeNodes(typeParameters, context);
2896
2894
}
2897
2895
2898
2896
const symbolName = getNameOfSymbol(symbol, context);
0 commit comments