Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit56cfd6c

Browse files
authored
Preserve return type nodes which resolve to errors in declaration emit (microsoft#58522)
1 parent8111503 commit56cfd6c

File tree

57 files changed

+281
-239
lines changed

Some content is hidden

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

57 files changed

+281
-239
lines changed

‎src/compiler/checker.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8233,7 +8233,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
82338233
function serializeReturnTypeForSignatureWorker(context: NodeBuilderContext, signature: Signature) {
82348234
const typePredicate = getTypePredicateOfSignature(signature);
82358235
const type = getReturnTypeOfSignature(signature);
8236-
if (!isErrorType(type)&&context.enclosingDeclaration) {
8236+
if (context.enclosingDeclaration && (!isErrorType(type)|| (context.flags & NodeBuilderFlags.AllowUnresolvedNames))) {
82378237
const annotation = signature.declaration && getNonlocalEffectiveReturnTypeAnnotationNode(signature.declaration);
82388238
const enclosingDeclarationIgnoringFakeScope = getEnclosingDeclarationIgnoringFakeScope(context.enclosingDeclaration);
82398239
if (!!findAncestor(annotation, n => n === enclosingDeclarationIgnoringFakeScope) && annotation) {

‎tests/baselines/reference/asyncAwaitIsolatedModules_es2017.types

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ async function f1(): Promise<void> { }
2323

2424
async function f3(): MyPromise<void> { }
2525
>f3 : () => MyPromise<void>
26-
> : ^^^^^^^^^^^^^^^^^^^^^
26+
> : ^^^^^^
2727

2828
let f4 = async function() { }
2929
>f4 : () => Promise<void>
@@ -39,9 +39,9 @@ let f5 = async function(): Promise<void> { }
3939

4040
let f6 = async function(): MyPromise<void> { }
4141
>f6 : () => MyPromise<void>
42-
> : ^^^^^^^^^^^^^^^^^^^^^
42+
> : ^^^^^^
4343
>async function(): MyPromise<void> { } : () => MyPromise<void>
44-
> : ^^^^^^^^^^^^^^^^^^^^^
44+
> : ^^^^^^
4545

4646
let f7 = async () => { };
4747
>f7 : () => Promise<void>
@@ -57,9 +57,9 @@ let f8 = async (): Promise<void> => { };
5757

5858
let f9 = async (): MyPromise<void> => { };
5959
>f9 : () => MyPromise<void>
60-
> : ^^^^^^^^^^^^^^^^^^^^^
60+
> : ^^^^^^
6161
>async (): MyPromise<void> => { } : () => MyPromise<void>
62-
> : ^^^^^^^^^^^^^^^^^^^^^
62+
> : ^^^^^^
6363

6464
let f10 = async () => p;
6565
>f10 : () => Promise<number>
@@ -87,17 +87,17 @@ let f12 = async (): Promise<number> => mp;
8787

8888
let f13 = async (): MyPromise<number> => p;
8989
>f13 : () => MyPromise<number>
90-
> : ^^^^^^^^^^^^^^^^^^^^^^^
90+
> : ^^^^^^
9191
>async (): MyPromise<number> => p : () => MyPromise<number>
92-
> : ^^^^^^^^^^^^^^^^^^^^^^^
92+
> : ^^^^^^
9393
>p : Promise<number>
9494
> : ^^^^^^^^^^^^^^^
9595

9696
let o = {
9797
>o : { m1(): Promise<void>; m2(): Promise<void>; m3(): MyPromise<void>; }
98-
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^
98+
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^
9999
>{async m1() { },async m2(): Promise<void> { },async m3(): MyPromise<void> { }} : { m1(): Promise<void>; m2(): Promise<void>; m3(): MyPromise<void>; }
100-
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^
100+
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^
101101

102102
async m1() { },
103103
>m1 : () => Promise<void>
@@ -109,7 +109,7 @@ let o = {
109109

110110
async m3(): MyPromise<void> { }
111111
>m3 : () => MyPromise<void>
112-
> : ^^^^^^^^^^^^^^^^^^^^^
112+
> : ^^^^^^
113113

114114
};
115115

@@ -127,7 +127,7 @@ class C {
127127

128128
async m3(): MyPromise<void> { }
129129
>m3 : () => MyPromise<void>
130-
> : ^^^^^^^^^^^^^^^^^^^^^
130+
> : ^^^^^^
131131

132132
static async m4() { }
133133
>m4 : () => Promise<void>
@@ -139,7 +139,7 @@ class C {
139139

140140
static async m6(): MyPromise<void> { }
141141
>m6 : () => MyPromise<void>
142-
> : ^^^^^^^^^^^^^^^^^^^^^
142+
> : ^^^^^^
143143
}
144144

145145
module M {

‎tests/baselines/reference/asyncAwaitIsolatedModules_es5.types

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ async function f1(): Promise<void> { }
2323

2424
async function f3(): MyPromise<void> { }
2525
>f3 : () => MyPromise<void>
26-
> : ^^^^^^^^^^^^^^^^^^^^^
26+
> : ^^^^^^
2727

2828
let f4 = async function() { }
2929
>f4 : () => Promise<void>
@@ -39,9 +39,9 @@ let f5 = async function(): Promise<void> { }
3939

4040
let f6 = async function(): MyPromise<void> { }
4141
>f6 : () => MyPromise<void>
42-
> : ^^^^^^^^^^^^^^^^^^^^^
42+
> : ^^^^^^
4343
>async function(): MyPromise<void> { } : () => MyPromise<void>
44-
> : ^^^^^^^^^^^^^^^^^^^^^
44+
> : ^^^^^^
4545

4646
let f7 = async () => { };
4747
>f7 : () => Promise<void>
@@ -57,9 +57,9 @@ let f8 = async (): Promise<void> => { };
5757

5858
let f9 = async (): MyPromise<void> => { };
5959
>f9 : () => MyPromise<void>
60-
> : ^^^^^^^^^^^^^^^^^^^^^
60+
> : ^^^^^^
6161
>async (): MyPromise<void> => { } : () => MyPromise<void>
62-
> : ^^^^^^^^^^^^^^^^^^^^^
62+
> : ^^^^^^
6363

6464
let f10 = async () => p;
6565
>f10 : () => Promise<number>
@@ -87,17 +87,17 @@ let f12 = async (): Promise<number> => mp;
8787

8888
let f13 = async (): MyPromise<number> => p;
8989
>f13 : () => MyPromise<number>
90-
> : ^^^^^^^^^^^^^^^^^^^^^^^
90+
> : ^^^^^^
9191
>async (): MyPromise<number> => p : () => MyPromise<number>
92-
> : ^^^^^^^^^^^^^^^^^^^^^^^
92+
> : ^^^^^^
9393
>p : Promise<number>
9494
> : ^^^^^^^^^^^^^^^
9595

9696
let o = {
9797
>o : { m1(): Promise<void>; m2(): Promise<void>; m3(): MyPromise<void>; }
98-
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^
98+
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^
9999
>{async m1() { },async m2(): Promise<void> { },async m3(): MyPromise<void> { }} : { m1(): Promise<void>; m2(): Promise<void>; m3(): MyPromise<void>; }
100-
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^
100+
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^
101101

102102
async m1() { },
103103
>m1 : () => Promise<void>
@@ -109,7 +109,7 @@ let o = {
109109

110110
async m3(): MyPromise<void> { }
111111
>m3 : () => MyPromise<void>
112-
> : ^^^^^^^^^^^^^^^^^^^^^
112+
> : ^^^^^^
113113

114114
};
115115

@@ -127,7 +127,7 @@ class C {
127127

128128
async m3(): MyPromise<void> { }
129129
>m3 : () => MyPromise<void>
130-
> : ^^^^^^^^^^^^^^^^^^^^^
130+
> : ^^^^^^
131131

132132
static async m4() { }
133133
>m4 : () => Promise<void>
@@ -139,7 +139,7 @@ class C {
139139

140140
static async m6(): MyPromise<void> { }
141141
>m6 : () => MyPromise<void>
142-
> : ^^^^^^^^^^^^^^^^^^^^^
142+
> : ^^^^^^
143143
}
144144

145145
module M {

‎tests/baselines/reference/asyncAwaitIsolatedModules_es6.types

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ async function f1(): Promise<void> { }
2323

2424
async function f3(): MyPromise<void> { }
2525
>f3 : () => MyPromise<void>
26-
> : ^^^^^^^^^^^^^^^^^^^^^
26+
> : ^^^^^^
2727

2828
let f4 = async function() { }
2929
>f4 : () => Promise<void>
@@ -39,9 +39,9 @@ let f5 = async function(): Promise<void> { }
3939

4040
let f6 = async function(): MyPromise<void> { }
4141
>f6 : () => MyPromise<void>
42-
> : ^^^^^^^^^^^^^^^^^^^^^
42+
> : ^^^^^^
4343
>async function(): MyPromise<void> { } : () => MyPromise<void>
44-
> : ^^^^^^^^^^^^^^^^^^^^^
44+
> : ^^^^^^
4545

4646
let f7 = async () => { };
4747
>f7 : () => Promise<void>
@@ -57,9 +57,9 @@ let f8 = async (): Promise<void> => { };
5757

5858
let f9 = async (): MyPromise<void> => { };
5959
>f9 : () => MyPromise<void>
60-
> : ^^^^^^^^^^^^^^^^^^^^^
60+
> : ^^^^^^
6161
>async (): MyPromise<void> => { } : () => MyPromise<void>
62-
> : ^^^^^^^^^^^^^^^^^^^^^
62+
> : ^^^^^^
6363

6464
let f10 = async () => p;
6565
>f10 : () => Promise<number>
@@ -87,17 +87,17 @@ let f12 = async (): Promise<number> => mp;
8787

8888
let f13 = async (): MyPromise<number> => p;
8989
>f13 : () => MyPromise<number>
90-
> : ^^^^^^^^^^^^^^^^^^^^^^^
90+
> : ^^^^^^
9191
>async (): MyPromise<number> => p : () => MyPromise<number>
92-
> : ^^^^^^^^^^^^^^^^^^^^^^^
92+
> : ^^^^^^
9393
>p : Promise<number>
9494
> : ^^^^^^^^^^^^^^^
9595

9696
let o = {
9797
>o : { m1(): Promise<void>; m2(): Promise<void>; m3(): MyPromise<void>; }
98-
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^
98+
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^
9999
>{async m1() { },async m2(): Promise<void> { },async m3(): MyPromise<void> { }} : { m1(): Promise<void>; m2(): Promise<void>; m3(): MyPromise<void>; }
100-
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^
100+
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^
101101

102102
async m1() { },
103103
>m1 : () => Promise<void>
@@ -109,7 +109,7 @@ let o = {
109109

110110
async m3(): MyPromise<void> { }
111111
>m3 : () => MyPromise<void>
112-
> : ^^^^^^^^^^^^^^^^^^^^^
112+
> : ^^^^^^
113113

114114
};
115115

@@ -127,7 +127,7 @@ class C {
127127

128128
async m3(): MyPromise<void> { }
129129
>m3 : () => MyPromise<void>
130-
> : ^^^^^^^^^^^^^^^^^^^^^
130+
> : ^^^^^^
131131

132132
static async m4() { }
133133
>m4 : () => Promise<void>
@@ -139,7 +139,7 @@ class C {
139139

140140
static async m6(): MyPromise<void> { }
141141
>m6 : () => MyPromise<void>
142-
> : ^^^^^^^^^^^^^^^^^^^^^
142+
> : ^^^^^^
143143
}
144144

145145
module M {

‎tests/baselines/reference/badExternalModuleReference.types

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import a1 = require("garbage");
77

88
export declare var a: {
99
>a : { (): a1.connectExport; test1: a1.connectModule; }
10-
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^
10+
> : ^^^^^^^^^^^^^^^ ^^^
1111

1212
test1: a1.connectModule;
1313
>test1 : a1.connectModule

‎tests/baselines/reference/bluebirdStaticThis.types

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ export declare class Promise<R> implements Promise.Thenable<R> {
147147

148148
static defer<R>(dit: typeof Promise): Promise.Resolver<R>;
149149
>defer : <R>(dit: typeof Promise) => Promise.Resolver<R>
150-
> : ^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^
150+
> : ^ ^^ ^^ ^^^^^
151151
>dit : typeof Promise
152152
> : ^^^^^^^^^^^^^^
153153
>Promise : typeof Promise

‎tests/baselines/reference/constructorWithIncompleteTypeAnnotation.types

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1290,7 +1290,7 @@ module TypeScriptAllInOne {
12901290
interface IF {
12911291
Foo(): bool;
12921292
>Foo : () => bool
1293-
> : ^^^^^^^^^^
1293+
> : ^^^^^^
12941294
}
12951295

12961296
class CLASS implements IF {
@@ -1323,7 +1323,7 @@ module TypeScriptAllInOne {
13231323
}
13241324
public Foo(): bool {
13251325
>Foo : () => bool
1326-
> : ^^^^^^^^^^
1326+
> : ^^^^^^
13271327

13281328
var myEvent = () => { return 1; };
13291329
>myEvent : () => number

‎tests/baselines/reference/exportSpecifierAndLocalMemberDeclaration.types

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ declare module "m2" {
3131

3232
function Z2(): X.I;
3333
>Z2 : () => X.I
34-
> : ^^^^^^^^^
34+
> : ^^^^^^
3535
>X : any
3636
> : ^^^
3737
}

‎tests/baselines/reference/exportSpecifierReferencingOuterDeclaration3.types

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ declare module "m" {
1919

2020
export function bar(): X.bar; // error
2121
>bar : () => X.bar
22-
> : ^^^^^^^^^^^
22+
> : ^^^^^^
2323
>X : any
2424
> : ^^^
2525
}

‎tests/baselines/reference/exportSpecifierReferencingOuterDeclaration4.types

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ export declare function foo(): X.foo;
1818

1919
export declare function bar(): X.bar; // error
2020
>bar : () => X.bar
21-
> : ^^^^^^^^^^^
21+
> : ^^^^^^
2222
>X : any
2323
> : ^^^
2424

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp