Skip to content

Commit 5a54e80

Browse files
committed
update baseline
1 parent e1c1466 commit 5a54e80

File tree

86 files changed

+753
-2100
lines changed

Some content is hidden

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

86 files changed

+753
-2100
lines changed

internal/ast/utilities.go

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3868,3 +3868,16 @@ func IsImportOrImportEqualsDeclaration(node *Node) bool {
38683868
func HasModifier(node *Node, flags ModifierFlags) bool {
38693869
return node.ModifierFlags()&flags != 0
38703870
}
3871+
3872+
func IsExpandoInitializer(initializer *Node) bool {
3873+
if initializer == nil {
3874+
return false
3875+
}
3876+
if IsFunctionExpressionOrArrowFunction(initializer) {
3877+
return true
3878+
}
3879+
if IsInJSFile(initializer) {
3880+
return IsClassExpression(initializer) || (IsObjectLiteralExpression(initializer) && len(initializer.AsObjectLiteralExpression().Properties.Nodes) == 0)
3881+
}
3882+
return false
3883+
}

internal/transformers/declarations/transform.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import (
1111
"github.com/microsoft/typescript-go/internal/modulespecifiers"
1212
"github.com/microsoft/typescript-go/internal/nodebuilder"
1313
"github.com/microsoft/typescript-go/internal/printer"
14+
"github.com/microsoft/typescript-go/internal/scanner"
1415
"github.com/microsoft/typescript-go/internal/transformers"
1516
"github.com/microsoft/typescript-go/internal/tspath"
1617
)

testdata/baselines/reference/compiler/declarationEmitExpandoFunction.symbols

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,24 +17,24 @@ export enum C {
1717
>C : Symbol(C, Decl(declarationEmitExpandoFunction.ts, 6, 1))
1818

1919
C
20-
>C : Symbol(C, Decl(declarationEmitExpandoFunction.ts, 8, 15))
20+
>C : Symbol(C.C, Decl(declarationEmitExpandoFunction.ts, 8, 15))
2121
}
2222

2323
A.a = C;
24-
>A.a : Symbol(a, Decl(declarationEmitExpandoFunction.ts, 10, 1))
24+
>A.a : Symbol(A.a, Decl(declarationEmitExpandoFunction.ts, 10, 1))
2525
>A : Symbol(A, Decl(declarationEmitExpandoFunction.ts, 0, 0))
26-
>a : Symbol(a, Decl(declarationEmitExpandoFunction.ts, 10, 1))
26+
>a : Symbol(A.a, Decl(declarationEmitExpandoFunction.ts, 10, 1))
2727
>C : Symbol(C, Decl(declarationEmitExpandoFunction.ts, 6, 1))
2828

2929
A.b = C;
30-
>A.b : Symbol(b, Decl(declarationEmitExpandoFunction.ts, 12, 8))
30+
>A.b : Symbol(A.b, Decl(declarationEmitExpandoFunction.ts, 12, 8))
3131
>A : Symbol(A, Decl(declarationEmitExpandoFunction.ts, 0, 0))
32-
>b : Symbol(b, Decl(declarationEmitExpandoFunction.ts, 12, 8))
32+
>b : Symbol(A.b, Decl(declarationEmitExpandoFunction.ts, 12, 8))
3333
>C : Symbol(C, Decl(declarationEmitExpandoFunction.ts, 6, 1))
3434

3535
B.c = C;
36-
>B.c : Symbol(c, Decl(declarationEmitExpandoFunction.ts, 13, 8))
36+
>B.c : Symbol(B.c, Decl(declarationEmitExpandoFunction.ts, 13, 8))
3737
>B : Symbol(B, Decl(declarationEmitExpandoFunction.ts, 2, 1))
38-
>c : Symbol(c, Decl(declarationEmitExpandoFunction.ts, 13, 8))
38+
>c : Symbol(B.c, Decl(declarationEmitExpandoFunction.ts, 13, 8))
3939
>C : Symbol(C, Decl(declarationEmitExpandoFunction.ts, 6, 1))
4040

testdata/baselines/reference/submodule/compiler/argumentsUsedInClassFieldInitializerOrStaticInitializationBlock.errors.txt

Lines changed: 2 additions & 92 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,9 @@ argumentsUsedInClassFieldInitializerOrStaticInitializationBlock.ts(3,10): error
22
argumentsUsedInClassFieldInitializerOrStaticInitializationBlock.ts(9,10): error TS2815: 'arguments' cannot be referenced in property initializers or class static initialization blocks.
33
argumentsUsedInClassFieldInitializerOrStaticInitializationBlock.ts(15,15): error TS2815: 'arguments' cannot be referenced in property initializers or class static initialization blocks.
44
argumentsUsedInClassFieldInitializerOrStaticInitializationBlock.ts(21,15): error TS2815: 'arguments' cannot be referenced in property initializers or class static initialization blocks.
5-
argumentsUsedInClassFieldInitializerOrStaticInitializationBlock.ts(66,6): error TS2585: 'Symbol' only refers to a type, but is being used as a value here. Do you need to change your target library? Try changing the 'lib' compiler option to es2015 or later.
6-
argumentsUsedInClassFieldInitializerOrStaticInitializationBlock.ts(75,7): error TS2815: 'arguments' cannot be referenced in property initializers or class static initialization blocks.
75

86

9-
==== argumentsUsedInClassFieldInitializerOrStaticInitializationBlock.ts (6 errors) ====
7+
==== argumentsUsedInClassFieldInitializerOrStaticInitializationBlock.ts (4 errors) ====
108
function A() {
119
return class T {
1210
a = arguments
@@ -43,92 +41,4 @@ argumentsUsedInClassFieldInitializerOrStaticInitializationBlock.ts(75,7): error
4341
return class T {
4442
a = function () { arguments }
4543
}
46-
}
47-
48-
function D() {
49-
return class T {
50-
a = () => arguments // should error
51-
}
52-
}
53-
54-
function D1() {
55-
return class T {
56-
a = () => {
57-
arguments; // should error
58-
const b = () => {
59-
return arguments; // should error
60-
}
61-
62-
function f() {
63-
return arguments; // ok
64-
}
65-
}
66-
}
67-
}
68-
69-
function D2() {
70-
return class {
71-
constructor() {
72-
arguments; // ok
73-
}
74-
get foo() {
75-
return arguments; // ok
76-
}
77-
set foo(foo: any) {
78-
arguments; // ok
79-
}
80-
bar() {
81-
arguments; // ok
82-
}
83-
[Symbol.iterator]() {
84-
~~~~~~
85-
!!! error TS2585: 'Symbol' only refers to a type, but is being used as a value here. Do you need to change your target library? Try changing the 'lib' compiler option to es2015 or later.
86-
arguments; // ok
87-
}
88-
}
89-
}
90-
91-
function D3() {
92-
return class T {
93-
static {
94-
arguments; // should error
95-
~~~~~~~~~
96-
!!! error TS2815: 'arguments' cannot be referenced in property initializers or class static initialization blocks.
97-
while(1) {
98-
arguments // should error
99-
}
100-
}
101-
}
102-
}
103-
104-
function D4() {
105-
return class T {
106-
static {
107-
function f() {
108-
arguments; // ok
109-
}
110-
}
111-
}
112-
}
113-
114-
115-
function D5() {
116-
return class T {
117-
a = (() => { return arguments; })() // should error
118-
}
119-
}
120-
121-
function D6() {
122-
return class T {
123-
a = (x = arguments) => {} // should error
124-
}
125-
}
126-
127-
function D7() {
128-
return class T {
129-
a(x = arguments){ // ok
130-
131-
}
132-
}
133-
}
134-
44+
}
Lines changed: 35 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -1,71 +1,50 @@
11
--- old.argumentsUsedInClassFieldInitializerOrStaticInitializationBlock.errors.txt
22
+++ new.argumentsUsedInClassFieldInitializerOrStaticInitializationBlock.errors.txt
3-
@@= skipped -1, +1 lines =@@
4-
argumentsUsedInClassFieldInitializerOrStaticInitializationBlock.ts(9,10): error TS2815: 'arguments' cannot be referenced in property initializers or class static initialization blocks.
5-
argumentsUsedInClassFieldInitializerOrStaticInitializationBlock.ts(15,15): error TS2815: 'arguments' cannot be referenced in property initializers or class static initialization blocks.
6-
argumentsUsedInClassFieldInitializerOrStaticInitializationBlock.ts(21,15): error TS2815: 'arguments' cannot be referenced in property initializers or class static initialization blocks.
7-
-argumentsUsedInClassFieldInitializerOrStaticInitializationBlock.ts(33,16): error TS2815: 'arguments' cannot be referenced in property initializers or class static initialization blocks.
8-
-argumentsUsedInClassFieldInitializerOrStaticInitializationBlock.ts(40,7): error TS2815: 'arguments' cannot be referenced in property initializers or class static initialization blocks.
9-
-argumentsUsedInClassFieldInitializerOrStaticInitializationBlock.ts(42,16): error TS2815: 'arguments' cannot be referenced in property initializers or class static initialization blocks.
10-
argumentsUsedInClassFieldInitializerOrStaticInitializationBlock.ts(66,6): error TS2585: 'Symbol' only refers to a type, but is being used as a value here. Do you need to change your target library? Try changing the 'lib' compiler option to es2015 or later.
11-
argumentsUsedInClassFieldInitializerOrStaticInitializationBlock.ts(75,7): error TS2815: 'arguments' cannot be referenced in property initializers or class static initialization blocks.
12-
-argumentsUsedInClassFieldInitializerOrStaticInitializationBlock.ts(77,9): error TS2815: 'arguments' cannot be referenced in property initializers or class static initialization blocks.
13-
-argumentsUsedInClassFieldInitializerOrStaticInitializationBlock.ts(96,26): error TS2815: 'arguments' cannot be referenced in property initializers or class static initialization blocks.
14-
-argumentsUsedInClassFieldInitializerOrStaticInitializationBlock.ts(102,15): error TS2815: 'arguments' cannot be referenced in property initializers or class static initialization blocks.
15-
-
16-
-
17-
-==== argumentsUsedInClassFieldInitializerOrStaticInitializationBlock.ts (12 errors) ====
18-
+
19-
+
20-
+==== argumentsUsedInClassFieldInitializerOrStaticInitializationBlock.ts (6 errors) ====
21-
function A() {
3+
@@= skipped -0, +0 lines =@@
4+
-argumentsUsedInClassFieldInitializerOrStaticInitializationBlock.ts(3,10): error TS2815: 'arguments' cannot be referenced in property initializers.
5+
-argumentsUsedInClassFieldInitializerOrStaticInitializationBlock.ts(9,10): error TS2815: 'arguments' cannot be referenced in property initializers.
6+
-argumentsUsedInClassFieldInitializerOrStaticInitializationBlock.ts(15,15): error TS2815: 'arguments' cannot be referenced in property initializers.
7+
-argumentsUsedInClassFieldInitializerOrStaticInitializationBlock.ts(21,15): error TS2815: 'arguments' cannot be referenced in property initializers.
8+
+argumentsUsedInClassFieldInitializerOrStaticInitializationBlock.ts(3,10): error TS2815: 'arguments' cannot be referenced in property initializers or class static initialization blocks.
9+
+argumentsUsedInClassFieldInitializerOrStaticInitializationBlock.ts(9,10): error TS2815: 'arguments' cannot be referenced in property initializers or class static initialization blocks.
10+
+argumentsUsedInClassFieldInitializerOrStaticInitializationBlock.ts(15,15): error TS2815: 'arguments' cannot be referenced in property initializers or class static initialization blocks.
11+
+argumentsUsedInClassFieldInitializerOrStaticInitializationBlock.ts(21,15): error TS2815: 'arguments' cannot be referenced in property initializers or class static initialization blocks.
12+
13+
14+
==== argumentsUsedInClassFieldInitializerOrStaticInitializationBlock.ts (4 errors) ====
15+
@@= skipped -8, +8 lines =@@
2216
return class T {
2317
a = arguments
24-
@@= skipped -52, +46 lines =@@
25-
function D() {
26-
return class T {
27-
a = () => arguments // should error
28-
- ~~~~~~~~~
29-
-!!! error TS2815: 'arguments' cannot be referenced in property initializers or class static initialization blocks.
18+
~~~~~~~~~
19+
-!!! error TS2815: 'arguments' cannot be referenced in property initializers.
20+
+!!! error TS2815: 'arguments' cannot be referenced in property initializers or class static initialization blocks.
3021
}
3122
}
3223

33-
@@= skipped -9, +7 lines =@@
34-
return class T {
35-
a = () => {
36-
arguments; // should error
37-
- ~~~~~~~~~
38-
-!!! error TS2815: 'arguments' cannot be referenced in property initializers or class static initialization blocks.
39-
const b = () => {
40-
return arguments; // should error
41-
- ~~~~~~~~~
42-
-!!! error TS2815: 'arguments' cannot be referenced in property initializers or class static initialization blocks.
43-
}
44-
45-
function f() {
46-
@@= skipped -45, +41 lines =@@
47-
!!! error TS2815: 'arguments' cannot be referenced in property initializers or class static initialization blocks.
48-
while(1) {
49-
arguments // should error
50-
- ~~~~~~~~~
51-
-!!! error TS2815: 'arguments' cannot be referenced in property initializers or class static initialization blocks.
52-
}
53-
}
24+
@@= skipped -8, +8 lines =@@
25+
return new class T {
26+
a = arguments
27+
~~~~~~~~~
28+
-!!! error TS2815: 'arguments' cannot be referenced in property initializers.
29+
+!!! error TS2815: 'arguments' cannot be referenced in property initializers or class static initialization blocks.
5430
}
55-
@@= skipped -21, +19 lines =@@
56-
function D5() {
31+
}
32+
33+
@@= skipped -8, +8 lines =@@
5734
return class T {
58-
a = (() => { return arguments; })() // should error
59-
- ~~~~~~~~~
60-
-!!! error TS2815: 'arguments' cannot be referenced in property initializers or class static initialization blocks.
35+
a = { b: arguments }
36+
~~~~~~~~~
37+
-!!! error TS2815: 'arguments' cannot be referenced in property initializers.
38+
+!!! error TS2815: 'arguments' cannot be referenced in property initializers or class static initialization blocks.
6139
}
6240
}
6341

64-
function D6() {
65-
return class T {
66-
a = (x = arguments) => {} // should error
67-
- ~~~~~~~~~
68-
-!!! error TS2815: 'arguments' cannot be referenced in property initializers or class static initialization blocks.
42+
@@= skipped -8, +8 lines =@@
43+
return new class T {
44+
a = { b: arguments }
45+
~~~~~~~~~
46+
-!!! error TS2815: 'arguments' cannot be referenced in property initializers.
47+
+!!! error TS2815: 'arguments' cannot be referenced in property initializers or class static initialization blocks.
6948
}
7049
}
7150

0 commit comments

Comments
 (0)