Skip to content

Commit 94d7e30

Browse files
ajafffsandersn
authored andcommitted
MethodSignature doesn't have 'arguments' (microsoft#28625)
Fixes: microsoft#28622
1 parent 5172d8f commit 94d7e30

File tree

6 files changed

+92
-1
lines changed

6 files changed

+92
-1
lines changed

src/compiler/checker.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1420,7 +1420,6 @@ namespace ts {
14201420
}
14211421
break;
14221422
case SyntaxKind.MethodDeclaration:
1423-
case SyntaxKind.MethodSignature:
14241423
case SyntaxKind.Constructor:
14251424
case SyntaxKind.GetAccessor:
14261425
case SyntaxKind.SetAccessor:
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
tests/cases/compiler/arguments.ts(6,25): error TS2304: Cannot find name 'arguments'.
2+
tests/cases/compiler/arguments.ts(7,23): error TS2304: Cannot find name 'arguments'.
3+
tests/cases/compiler/arguments.ts(8,19): error TS2304: Cannot find name 'arguments'.
4+
tests/cases/compiler/arguments.ts(9,23): error TS2304: Cannot find name 'arguments'.
5+
tests/cases/compiler/arguments.ts(10,34): error TS2304: Cannot find name 'arguments'.
6+
7+
8+
==== tests/cases/compiler/arguments.ts (5 errors) ====
9+
function f() {
10+
var x=arguments[12];
11+
}
12+
13+
interface I {
14+
method(args: typeof arguments): void;
15+
~~~~~~~~~
16+
!!! error TS2304: Cannot find name 'arguments'.
17+
fn: (args: typeof arguments) => void;
18+
~~~~~~~~~
19+
!!! error TS2304: Cannot find name 'arguments'.
20+
(args: typeof arguments): void;
21+
~~~~~~~~~
22+
!!! error TS2304: Cannot find name 'arguments'.
23+
new (args: typeof arguments): void;
24+
~~~~~~~~~
25+
!!! error TS2304: Cannot find name 'arguments'.
26+
construct: new (args: typeof arguments) => void;
27+
~~~~~~~~~
28+
!!! error TS2304: Cannot find name 'arguments'.
29+
}

tests/baselines/reference/arguments.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,14 @@
11
//// [arguments.ts]
22
function f() {
33
var x=arguments[12];
4+
}
5+
6+
interface I {
7+
method(args: typeof arguments): void;
8+
fn: (args: typeof arguments) => void;
9+
(args: typeof arguments): void;
10+
new (args: typeof arguments): void;
11+
construct: new (args: typeof arguments) => void;
412
}
513

614
//// [arguments.js]

tests/baselines/reference/arguments.symbols

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,25 @@ function f() {
66
>x : Symbol(x, Decl(arguments.ts, 1, 7))
77
>arguments : Symbol(arguments)
88
}
9+
10+
interface I {
11+
>I : Symbol(I, Decl(arguments.ts, 2, 1))
12+
13+
method(args: typeof arguments): void;
14+
>method : Symbol(I.method, Decl(arguments.ts, 4, 13))
15+
>args : Symbol(args, Decl(arguments.ts, 5, 11))
16+
17+
fn: (args: typeof arguments) => void;
18+
>fn : Symbol(I.fn, Decl(arguments.ts, 5, 41))
19+
>args : Symbol(args, Decl(arguments.ts, 6, 9))
20+
21+
(args: typeof arguments): void;
22+
>args : Symbol(args, Decl(arguments.ts, 7, 5))
23+
24+
new (args: typeof arguments): void;
25+
>args : Symbol(args, Decl(arguments.ts, 8, 9))
26+
27+
construct: new (args: typeof arguments) => void;
28+
>construct : Symbol(I.construct, Decl(arguments.ts, 8, 39))
29+
>args : Symbol(args, Decl(arguments.ts, 9, 20))
30+
}

tests/baselines/reference/arguments.types

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,28 @@ function f() {
88
>arguments : IArguments
99
>12 : 12
1010
}
11+
12+
interface I {
13+
method(args: typeof arguments): void;
14+
>method : (args: any) => void
15+
>args : any
16+
>arguments : any
17+
18+
fn: (args: typeof arguments) => void;
19+
>fn : (args: any) => void
20+
>args : any
21+
>arguments : any
22+
23+
(args: typeof arguments): void;
24+
>args : any
25+
>arguments : any
26+
27+
new (args: typeof arguments): void;
28+
>args : any
29+
>arguments : any
30+
31+
construct: new (args: typeof arguments) => void;
32+
>construct : new (args: any) => void
33+
>args : any
34+
>arguments : any
35+
}

tests/cases/compiler/arguments.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
11
function f() {
22
var x=arguments[12];
3+
}
4+
5+
interface I {
6+
method(args: typeof arguments): void;
7+
fn: (args: typeof arguments) => void;
8+
(args: typeof arguments): void;
9+
new (args: typeof arguments): void;
10+
construct: new (args: typeof arguments) => void;
311
}

0 commit comments

Comments
 (0)