Skip to content

Commit a4f9bf0

Browse files
authored
Create type aliases for unresolved type symbols (#45976)
* Create type aliases for unresolved type symbols * Accept new baselines * Update fourslash tests * Unresolved import aliases create tagged unresolved symbols * Add comments * Accept new baselines * Add fourslash tests
1 parent 0396723 commit a4f9bf0

File tree

443 files changed

+10964
-6380
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

443 files changed

+10964
-6380
lines changed

src/compiler/checker.ts

Lines changed: 121 additions & 59 deletions
Large diffs are not rendered by default.

src/compiler/types.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4957,6 +4957,7 @@ namespace ts {
49574957
HasNeverType = 1 << 17, // Synthetic property with at least one never type in constituents
49584958
Mapped = 1 << 18, // Property of mapped type
49594959
StripOptional = 1 << 19, // Strip optionality in mapped property
4960+
Unresolved = 1 << 20, // Unresolved type alias symbol
49604961
Synthetic = SyntheticProperty | SyntheticMethod,
49614962
Discriminant = HasNonUniformType | HasLiteralType,
49624963
Partial = ReadPartial | WritePartial

tests/baselines/reference/ArrowFunction1.symbols

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,6 @@
22
var v = (a: ) => {
33
>v : Symbol(v, Decl(ArrowFunction1.ts, 0, 3))
44
>a : Symbol(a, Decl(ArrowFunction1.ts, 0, 9))
5+
> : Symbol(unknown)
56

67
};

tests/baselines/reference/ClassAndModuleThatMergeWithModuleMemberThatUsesClassTypeParameter.symbols

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ module clodule1 {
1919
function f(x: T) { }
2020
>f : Symbol(f, Decl(ClassAndModuleThatMergeWithModuleMemberThatUsesClassTypeParameter.ts, 8, 17))
2121
>x : Symbol(x, Decl(ClassAndModuleThatMergeWithModuleMemberThatUsesClassTypeParameter.ts, 9, 15))
22+
>T : Symbol(T)
2223
}
2324

2425
class clodule2<T>{
@@ -38,10 +39,12 @@ module clodule2 {
3839

3940
var x: T;
4041
>x : Symbol(x, Decl(ClassAndModuleThatMergeWithModuleMemberThatUsesClassTypeParameter.ts, 19, 7))
42+
>T : Symbol(T)
4143

4244
class D<U extends T>{
4345
>D : Symbol(D, Decl(ClassAndModuleThatMergeWithModuleMemberThatUsesClassTypeParameter.ts, 19, 13))
4446
>U : Symbol(U, Decl(ClassAndModuleThatMergeWithModuleMemberThatUsesClassTypeParameter.ts, 21, 12))
47+
>T : Symbol(T)
4548

4649
id: string;
4750
>id : Symbol(D.id, Decl(ClassAndModuleThatMergeWithModuleMemberThatUsesClassTypeParameter.ts, 21, 25))
@@ -92,6 +95,7 @@ module clodule4 {
9295

9396
name: T;
9497
>name : Symbol(D.name, Decl(ClassAndModuleThatMergeWithModuleMemberThatUsesClassTypeParameter.ts, 44, 13))
98+
>T : Symbol(T)
9599
}
96100
}
97101

tests/baselines/reference/ClassAndModuleThatMergeWithModuleMemberThatUsesClassTypeParameter.types

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ module clodule1 {
1515
>clodule1 : typeof clodule1
1616

1717
function f(x: T) { }
18-
>f : (x: any) => void
19-
>x : any
18+
>f : (x: T) => void
19+
>x : T
2020
}
2121

2222
class clodule2<T>{
@@ -33,7 +33,7 @@ module clodule2 {
3333
>clodule2 : typeof clodule2
3434

3535
var x: T;
36-
>x : any
36+
>x : T
3737

3838
class D<U extends T>{
3939
>D : D<U>
@@ -83,7 +83,7 @@ module clodule4 {
8383
>D : D
8484

8585
name: T;
86-
>name : any
86+
>name : T
8787
}
8888
}
8989

tests/baselines/reference/FunctionDeclaration13_es6.symbols

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,6 @@ function * foo() {
55
// Legal to use 'yield' in a type context.
66
var v: yield;
77
>v : Symbol(v, Decl(FunctionDeclaration13_es6.ts, 2, 6))
8+
>yield : Symbol(yield)
89
}
910

tests/baselines/reference/FunctionDeclaration13_es6.types

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,6 @@ function * foo() {
44

55
// Legal to use 'yield' in a type context.
66
var v: yield;
7-
>v : any
7+
>v : yield
88
}
99

tests/baselines/reference/ParameterList5.symbols

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,5 @@
22
function A(): (public B) => C {
33
>A : Symbol(A, Decl(ParameterList5.ts, 0, 0))
44
>B : Symbol(B, Decl(ParameterList5.ts, 0, 15))
5+
>C : Symbol(C)
56
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
=== tests/cases/compiler/ParameterList5.ts ===
22
function A(): (public B) => C {
3-
>A : () => (B: any) => any
3+
>A : () => (B: any) => C
44
>B : any
55
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
=== tests/cases/conformance/parser/ecmascript5/TupleTypes/TupleType6.ts ===
22
var v: [number,,]
33
>v : Symbol(v, Decl(TupleType6.ts, 0, 3))
4+
> : Symbol(unknown)
45

0 commit comments

Comments
 (0)