Skip to content

Commit 46825ab

Browse files
committed
Print Array as T[]
1 parent 6a7d912 commit 46825ab

34 files changed

+215
-219
lines changed

src/harness/typeWriter.ts

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -77,10 +77,6 @@ class TypeWriterWalker {
7777
var actualPos = ts.skipTrivia(this.currentSourceFile.text, node.pos);
7878
var lineAndCharacter = this.currentSourceFile.getLineAndCharacterFromPosition(actualPos);
7979
var sourceText = ts.getSourceTextOfNodeFromSourceText(this.currentSourceFile.text, node);
80-
var isUnknownType = (<ts.IntrinsicType>type).intrinsicName === "unknown";
81-
if (!isUnknownType) {
82-
var writeArrayAsGenericType = node.kind === ts.SyntaxKind.Identifier && (<ts.Identifier>node).text === "Array" ? ts.TypeFormatFlags.WriteArrayAsGenericType : 0;
83-
}
8480

8581
// If we got an unknown type, we temporarily want to fall back to just pretending the name
8682
// (source text) of the node is the type. This is to align with the old typeWriter to make
@@ -90,7 +86,7 @@ class TypeWriterWalker {
9086
column: lineAndCharacter.character,
9187
syntaxKind: ts.SyntaxKind[node.kind],
9288
sourceText: sourceText,
93-
type: this.checker.typeToString(type, node.parent, ts.TypeFormatFlags.UseTypeOfFunction | writeArrayAsGenericType)
89+
type: this.checker.typeToString(type, node.parent, ts.TypeFormatFlags.UseTypeOfFunction)
9490
});
9591
}
9692

tests/baselines/reference/ExportVariableOfGenericTypeWithInaccessibleTypeAsTypeArgument.types

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,12 @@ module A {
1111

1212
export var beez: Array<B>;
1313
>beez : B[]
14-
>Array : Array<T>
14+
>Array : T[]
1515
>B : B
1616

1717
export var beez2 = new Array<B>();
1818
>beez2 : B[]
1919
>new Array<B>() : B[]
20-
>Array : { (arrayLength?: number): Array<any>; <T>(arrayLength: number): Array<T>; <T>(...items: Array<T>): Array<T>; new (arrayLength?: number): Array<any>; new <T>(arrayLength: number): Array<T>; new <T>(...items: Array<T>): Array<T>; isArray(arg: any): boolean; prototype: Array<any>; }
20+
>Array : { (arrayLength?: number): any[]; <T>(arrayLength: number): T[]; <T>(...items: T[]): T[]; new (arrayLength?: number): any[]; new <T>(arrayLength: number): T[]; new <T>(...items: T[]): T[]; isArray(arg: any): boolean; prototype: any[]; }
2121
>B : B
2222
}

tests/baselines/reference/arrayAugment.types

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
=== tests/cases/compiler/arrayAugment.ts ===
22
interface Array<T> {
3-
>Array : Array<T>
3+
>Array : T[]
44
>T : T
55

66
split: (parts: number) => T[][];

tests/baselines/reference/arrayConcat2.types

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ a.concat('Hello');
1818
var b = new Array<string>();
1919
>b : string[]
2020
>new Array<string>() : string[]
21-
>Array : { (arrayLength?: number): Array<any>; <T>(arrayLength: number): Array<T>; <T>(...items: Array<T>): Array<T>; new (arrayLength?: number): Array<any>; new <T>(arrayLength: number): Array<T>; new <T>(...items: Array<T>): Array<T>; isArray(arg: any): boolean; prototype: Array<any>; }
21+
>Array : { (arrayLength?: number): any[]; <T>(arrayLength: number): T[]; <T>(...items: T[]): T[]; new (arrayLength?: number): any[]; new <T>(arrayLength: number): T[]; new <T>(...items: T[]): T[]; isArray(arg: any): boolean; prototype: any[]; }
2222

2323
b.concat('hello');
2424
>b.concat('hello') : string[]

tests/baselines/reference/arrayConstructors1.types

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,19 +6,19 @@ x = new Array(1);
66
>x = new Array(1) : any[]
77
>x : string[]
88
>new Array(1) : any[]
9-
>Array : { (arrayLength?: number): Array<any>; <T>(arrayLength: number): Array<T>; <T>(...items: Array<T>): Array<T>; new (arrayLength?: number): Array<any>; new <T>(arrayLength: number): Array<T>; new <T>(...items: Array<T>): Array<T>; isArray(arg: any): boolean; prototype: Array<any>; }
9+
>Array : { (arrayLength?: number): any[]; <T>(arrayLength: number): T[]; <T>(...items: T[]): T[]; new (arrayLength?: number): any[]; new <T>(arrayLength: number): T[]; new <T>(...items: T[]): T[]; isArray(arg: any): boolean; prototype: any[]; }
1010

1111
x = new Array('hi', 'bye');
1212
>x = new Array('hi', 'bye') : string[]
1313
>x : string[]
1414
>new Array('hi', 'bye') : string[]
15-
>Array : { (arrayLength?: number): Array<any>; <T>(arrayLength: number): Array<T>; <T>(...items: Array<T>): Array<T>; new (arrayLength?: number): Array<any>; new <T>(arrayLength: number): Array<T>; new <T>(...items: Array<T>): Array<T>; isArray(arg: any): boolean; prototype: Array<any>; }
15+
>Array : { (arrayLength?: number): any[]; <T>(arrayLength: number): T[]; <T>(...items: T[]): T[]; new (arrayLength?: number): any[]; new <T>(arrayLength: number): T[]; new <T>(...items: T[]): T[]; isArray(arg: any): boolean; prototype: any[]; }
1616

1717
x = new Array<string>('hi', 'bye');
1818
>x = new Array<string>('hi', 'bye') : string[]
1919
>x : string[]
2020
>new Array<string>('hi', 'bye') : string[]
21-
>Array : { (arrayLength?: number): Array<any>; <T>(arrayLength: number): Array<T>; <T>(...items: Array<T>): Array<T>; new (arrayLength?: number): Array<any>; new <T>(arrayLength: number): Array<T>; new <T>(...items: Array<T>): Array<T>; isArray(arg: any): boolean; prototype: Array<any>; }
21+
>Array : { (arrayLength?: number): any[]; <T>(arrayLength: number): T[]; <T>(...items: T[]): T[]; new (arrayLength?: number): any[]; new <T>(arrayLength: number): T[]; new <T>(...items: T[]): T[]; isArray(arg: any): boolean; prototype: any[]; }
2222

2323
var y: number[];
2424
>y : number[]
@@ -27,17 +27,17 @@ y = new Array(1);
2727
>y = new Array(1) : any[]
2828
>y : number[]
2929
>new Array(1) : any[]
30-
>Array : { (arrayLength?: number): Array<any>; <T>(arrayLength: number): Array<T>; <T>(...items: Array<T>): Array<T>; new (arrayLength?: number): Array<any>; new <T>(arrayLength: number): Array<T>; new <T>(...items: Array<T>): Array<T>; isArray(arg: any): boolean; prototype: Array<any>; }
30+
>Array : { (arrayLength?: number): any[]; <T>(arrayLength: number): T[]; <T>(...items: T[]): T[]; new (arrayLength?: number): any[]; new <T>(arrayLength: number): T[]; new <T>(...items: T[]): T[]; isArray(arg: any): boolean; prototype: any[]; }
3131

3232
y = new Array(1,2);
3333
>y = new Array(1,2) : number[]
3434
>y : number[]
3535
>new Array(1,2) : number[]
36-
>Array : { (arrayLength?: number): Array<any>; <T>(arrayLength: number): Array<T>; <T>(...items: Array<T>): Array<T>; new (arrayLength?: number): Array<any>; new <T>(arrayLength: number): Array<T>; new <T>(...items: Array<T>): Array<T>; isArray(arg: any): boolean; prototype: Array<any>; }
36+
>Array : { (arrayLength?: number): any[]; <T>(arrayLength: number): T[]; <T>(...items: T[]): T[]; new (arrayLength?: number): any[]; new <T>(arrayLength: number): T[]; new <T>(...items: T[]): T[]; isArray(arg: any): boolean; prototype: any[]; }
3737

3838
y = new Array<number>(1, 2);
3939
>y = new Array<number>(1, 2) : number[]
4040
>y : number[]
4141
>new Array<number>(1, 2) : number[]
42-
>Array : { (arrayLength?: number): Array<any>; <T>(arrayLength: number): Array<T>; <T>(...items: Array<T>): Array<T>; new (arrayLength?: number): Array<any>; new <T>(arrayLength: number): Array<T>; new <T>(...items: Array<T>): Array<T>; isArray(arg: any): boolean; prototype: Array<any>; }
42+
>Array : { (arrayLength?: number): any[]; <T>(arrayLength: number): T[]; <T>(...items: T[]): T[]; new (arrayLength?: number): any[]; new <T>(arrayLength: number): T[]; new <T>(...items: T[]): T[]; isArray(arg: any): boolean; prototype: any[]; }
4343

tests/baselines/reference/arrayLiteral.types

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ var x = [];
88
var x = new Array(1);
99
>x : any[]
1010
>new Array(1) : any[]
11-
>Array : { (arrayLength?: number): Array<any>; <T>(arrayLength: number): Array<T>; <T>(...items: Array<T>): Array<T>; new (arrayLength?: number): Array<any>; new <T>(arrayLength: number): Array<T>; new <T>(...items: Array<T>): Array<T>; isArray(arg: any): boolean; prototype: Array<any>; }
11+
>Array : { (arrayLength?: number): any[]; <T>(arrayLength: number): T[]; <T>(...items: T[]): T[]; new (arrayLength?: number): any[]; new <T>(arrayLength: number): T[]; new <T>(...items: T[]): T[]; isArray(arg: any): boolean; prototype: any[]; }
1212

1313
var y = [1];
1414
>y : number[]
@@ -21,7 +21,7 @@ var y = [1, 2];
2121
var y = new Array<number>();
2222
>y : number[]
2323
>new Array<number>() : number[]
24-
>Array : { (arrayLength?: number): Array<any>; <T>(arrayLength: number): Array<T>; <T>(...items: Array<T>): Array<T>; new (arrayLength?: number): Array<any>; new <T>(arrayLength: number): Array<T>; new <T>(...items: Array<T>): Array<T>; isArray(arg: any): boolean; prototype: Array<any>; }
24+
>Array : { (arrayLength?: number): any[]; <T>(arrayLength: number): T[]; <T>(...items: T[]): T[]; new (arrayLength?: number): any[]; new <T>(arrayLength: number): T[]; new <T>(...items: T[]): T[]; isArray(arg: any): boolean; prototype: any[]; }
2525

2626
var x2: number[] = [];
2727
>x2 : number[]
@@ -30,7 +30,7 @@ var x2: number[] = [];
3030
var x2: number[] = new Array(1);
3131
>x2 : number[]
3232
>new Array(1) : any[]
33-
>Array : { (arrayLength?: number): Array<any>; <T>(arrayLength: number): Array<T>; <T>(...items: Array<T>): Array<T>; new (arrayLength?: number): Array<any>; new <T>(arrayLength: number): Array<T>; new <T>(...items: Array<T>): Array<T>; isArray(arg: any): boolean; prototype: Array<any>; }
33+
>Array : { (arrayLength?: number): any[]; <T>(arrayLength: number): T[]; <T>(...items: T[]): T[]; new (arrayLength?: number): any[]; new <T>(arrayLength: number): T[]; new <T>(...items: T[]): T[]; isArray(arg: any): boolean; prototype: any[]; }
3434

3535
var y2: number[] = [1];
3636
>y2 : number[]
@@ -43,5 +43,5 @@ var y2: number[] = [1, 2];
4343
var y2: number[] = new Array<number>();
4444
>y2 : number[]
4545
>new Array<number>() : number[]
46-
>Array : { (arrayLength?: number): Array<any>; <T>(arrayLength: number): Array<T>; <T>(...items: Array<T>): Array<T>; new (arrayLength?: number): Array<any>; new <T>(arrayLength: number): Array<T>; new <T>(...items: Array<T>): Array<T>; isArray(arg: any): boolean; prototype: Array<any>; }
46+
>Array : { (arrayLength?: number): any[]; <T>(arrayLength: number): T[]; <T>(...items: T[]): T[]; new (arrayLength?: number): any[]; new <T>(arrayLength: number): T[]; new <T>(...items: T[]): T[]; isArray(arg: any): boolean; prototype: any[]; }
4747

tests/baselines/reference/arrayLiterals.types

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ var classTypeArray = [C, C, C];
7878

7979
var classTypeArray: Array<typeof C>; // Should OK, not be a parse error
8080
>classTypeArray : typeof C[]
81-
>Array : Array<T>
81+
>Array : T[]
8282
>C : typeof C
8383

8484
// Contextual type C with numeric index signature makes array literal of EveryType E of type BCT(E,C)[]
@@ -111,7 +111,7 @@ var context2 = [{ a: '', b: 0, c: '' }, { a: "", b: 3, c: 0 }];
111111

112112
var context2: Array<{}>; // Should be OK
113113
>context2 : {}[]
114-
>Array : Array<T>
114+
>Array : T[]
115115

116116
// Contextual type C with numeric index signature of type Base makes array literal of Derived have type Base[]
117117
class Base { private p; }

tests/baselines/reference/assignmentCompatWithCallSignatures3.types

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -106,23 +106,23 @@ var a11: (x: { foo: string }, y: { foo: string; bar: string }) => Base;
106106
var a12: (x: Array<Base>, y: Array<Derived2>) => Array<Derived>;
107107
>a12 : (x: Base[], y: Derived2[]) => Derived[]
108108
>x : Base[]
109-
>Array : Array<T>
109+
>Array : T[]
110110
>Base : Base
111111
>y : Derived2[]
112-
>Array : Array<T>
112+
>Array : T[]
113113
>Derived2 : Derived2
114-
>Array : Array<T>
114+
>Array : T[]
115115
>Derived : Derived
116116

117117
var a13: (x: Array<Base>, y: Array<Derived>) => Array<Derived>;
118118
>a13 : (x: Base[], y: Derived[]) => Derived[]
119119
>x : Base[]
120-
>Array : Array<T>
120+
>Array : T[]
121121
>Base : Base
122122
>y : Derived[]
123-
>Array : Array<T>
123+
>Array : T[]
124124
>Derived : Derived
125-
>Array : Array<T>
125+
>Array : T[]
126126
>Derived : Derived
127127

128128
var a14: (x: { a: string; b: number }) => Object;
@@ -429,14 +429,14 @@ b11 = a11; // ok
429429
var b12: <T extends Array<Base>>(x: Array<Base>, y: T) => Array<Derived>;
430430
>b12 : <T extends Base[]>(x: Base[], y: T) => Derived[]
431431
>T : T
432-
>Array : Array<T>
432+
>Array : T[]
433433
>Base : Base
434434
>x : Base[]
435-
>Array : Array<T>
435+
>Array : T[]
436436
>Base : Base
437437
>y : T
438438
>T : T
439-
>Array : Array<T>
439+
>Array : T[]
440440
>Derived : Derived
441441

442442
a12 = b12; // ok
@@ -452,10 +452,10 @@ b12 = a12; // ok
452452
var b13: <T extends Array<Derived>>(x: Array<Base>, y: T) => T;
453453
>b13 : <T extends Derived[]>(x: Base[], y: T) => T
454454
>T : T
455-
>Array : Array<T>
455+
>Array : T[]
456456
>Derived : Derived
457457
>x : Base[]
458-
>Array : Array<T>
458+
>Array : T[]
459459
>Base : Base
460460
>y : T
461461
>T : T

tests/baselines/reference/assignmentCompatWithConstructSignatures3.types

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -106,23 +106,23 @@ var a11: new (x: { foo: string }, y: { foo: string; bar: string }) => Base;
106106
var a12: new (x: Array<Base>, y: Array<Derived2>) => Array<Derived>;
107107
>a12 : new (x: Base[], y: Derived2[]) => Derived[]
108108
>x : Base[]
109-
>Array : Array<T>
109+
>Array : T[]
110110
>Base : Base
111111
>y : Derived2[]
112-
>Array : Array<T>
112+
>Array : T[]
113113
>Derived2 : Derived2
114-
>Array : Array<T>
114+
>Array : T[]
115115
>Derived : Derived
116116

117117
var a13: new (x: Array<Base>, y: Array<Derived>) => Array<Derived>;
118118
>a13 : new (x: Base[], y: Derived[]) => Derived[]
119119
>x : Base[]
120-
>Array : Array<T>
120+
>Array : T[]
121121
>Base : Base
122122
>y : Derived[]
123-
>Array : Array<T>
123+
>Array : T[]
124124
>Derived : Derived
125-
>Array : Array<T>
125+
>Array : T[]
126126
>Derived : Derived
127127

128128
var a14: new (x: { a: string; b: number }) => Object;
@@ -429,14 +429,14 @@ b11 = a11; // ok
429429
var b12: new <T extends Array<Base>>(x: Array<Base>, y: T) => Array<Derived>;
430430
>b12 : new <T extends Base[]>(x: Base[], y: T) => Derived[]
431431
>T : T
432-
>Array : Array<T>
432+
>Array : T[]
433433
>Base : Base
434434
>x : Base[]
435-
>Array : Array<T>
435+
>Array : T[]
436436
>Base : Base
437437
>y : T
438438
>T : T
439-
>Array : Array<T>
439+
>Array : T[]
440440
>Derived : Derived
441441

442442
a12 = b12; // ok
@@ -452,10 +452,10 @@ b12 = a12; // ok
452452
var b13: new <T extends Array<Derived>>(x: Array<Base>, y: T) => T;
453453
>b13 : new <T extends Derived[]>(x: Base[], y: T) => T
454454
>T : T
455-
>Array : Array<T>
455+
>Array : T[]
456456
>Derived : Derived
457457
>x : Base[]
458-
>Array : Array<T>
458+
>Array : T[]
459459
>Base : Base
460460
>y : T
461461
>T : T

tests/baselines/reference/augmentArray.types

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
=== tests/cases/compiler/augmentArray.ts ===
22
interface Array<T> {
3-
>Array : Array<T>
3+
>Array : T[]
44
>T : T
55

66
(): any[];

0 commit comments

Comments
 (0)