File tree Expand file tree Collapse file tree 4 files changed +61
-1
lines changed Expand file tree Collapse file tree 4 files changed +61
-1
lines changed Original file line number Diff line number Diff line change @@ -3639,7 +3639,7 @@ namespace ts {
36393639
36403640 parseExpected ( SyntaxKind . OpenBraceToken ) ;
36413641 if ( token !== SyntaxKind . CloseBraceToken ) {
3642- node . expression = parseExpression ( ) ;
3642+ node . expression = parseAssignmentExpressionOrHigher ( ) ;
36433643 }
36443644 if ( inExpressionContext ) {
36453645 parseExpected ( SyntaxKind . CloseBraceToken ) ;
Original file line number Diff line number Diff line change 1+ tests/cases/conformance/jsx/file.tsx(12,36): error TS1005: '}' expected.
2+ tests/cases/conformance/jsx/file.tsx(12,44): error TS1003: Identifier expected.
3+ tests/cases/conformance/jsx/file.tsx(12,46): error TS1161: Unterminated regular expression literal.
4+
5+
6+ ==== tests/cases/conformance/jsx/file.tsx (3 errors) ====
7+
8+ declare module JSX {
9+ interface Element { }
10+ interface IntrinsicElements {
11+ [s: string]: any;
12+ }
13+ }
14+
15+ // This should be a parse error
16+ const class1 = "foo";
17+ const class2 = "bar";
18+ const elem = <div className={class1, class2}/>;
19+ ~
20+ !!! error TS1005: '}' expected.
21+ ~
22+ !!! error TS1003: Identifier expected.
23+
24+ !!! error TS1161: Unterminated regular expression literal.
25+
Original file line number Diff line number Diff line change 1+ //// [file.tsx]
2+
3+ declare module JSX {
4+ interface Element { }
5+ interface IntrinsicElements {
6+ [ s : string ] : any ;
7+ }
8+ }
9+
10+ // This should be a parse error
11+ const class1 = "foo" ;
12+ const class2 = "bar" ;
13+ const elem = < div className = { class1 , class2 } /> ;
14+
15+
16+ //// [file.jsx]
17+ // This should be a parse error
18+ var class1 = "foo" ;
19+ var class2 = "bar" ;
20+ var elem = < div className = { class1 } class2 /> ;
21+ / > ; ;
Original file line number Diff line number Diff line change 1+ //@jsx : preserve
2+
3+ //@filename : file.tsx
4+ declare module JSX {
5+ interface Element { }
6+ interface IntrinsicElements {
7+ [ s : string ] : any ;
8+ }
9+ }
10+
11+ // This should be a parse error
12+ const class1 = "foo" ;
13+ const class2 = "bar" ;
14+ const elem = < div className = { class1 , class2 } /> ;
You can’t perform that action at this time.
0 commit comments