Merge pull request #5007 from RyanCavanaugh/fix4514
Allow /* comments between < and JSX element name
This commit is contained in:
commit
c452606cc1
|
@ -1361,7 +1361,9 @@ namespace ts {
|
|||
if (text.charCodeAt(pos + 1) === CharacterCodes.equals) {
|
||||
return pos += 2, token = SyntaxKind.LessThanEqualsToken;
|
||||
}
|
||||
if (text.charCodeAt(pos + 1) === CharacterCodes.slash && languageVariant === LanguageVariant.JSX) {
|
||||
if (languageVariant === LanguageVariant.JSX &&
|
||||
text.charCodeAt(pos + 1) === CharacterCodes.slash &&
|
||||
text.charCodeAt(pos + 2) !== CharacterCodes.asterisk) {
|
||||
return pos += 2, token = SyntaxKind.LessThanSlashToken;
|
||||
}
|
||||
return pos++, token = SyntaxKind.LessThanToken;
|
||||
|
|
11
tests/baselines/reference/tsxParseTests2.js
Normal file
11
tests/baselines/reference/tsxParseTests2.js
Normal file
|
@ -0,0 +1,11 @@
|
|||
//// [tsxParseTests2.tsx]
|
||||
declare module JSX {
|
||||
interface Element { }
|
||||
interface IntrinsicElements { div; span; }
|
||||
}
|
||||
|
||||
var x = </**/div></div>;
|
||||
|
||||
|
||||
//// [tsxParseTests2.jsx]
|
||||
var x = <div></div>;
|
18
tests/baselines/reference/tsxParseTests2.symbols
Normal file
18
tests/baselines/reference/tsxParseTests2.symbols
Normal file
|
@ -0,0 +1,18 @@
|
|||
=== tests/cases/conformance/jsx/tsxParseTests2.tsx ===
|
||||
declare module JSX {
|
||||
>JSX : Symbol(JSX, Decl(tsxParseTests2.tsx, 0, 0))
|
||||
|
||||
interface Element { }
|
||||
>Element : Symbol(Element, Decl(tsxParseTests2.tsx, 0, 20))
|
||||
|
||||
interface IntrinsicElements { div; span; }
|
||||
>IntrinsicElements : Symbol(IntrinsicElements, Decl(tsxParseTests2.tsx, 1, 22))
|
||||
>div : Symbol(div, Decl(tsxParseTests2.tsx, 2, 30))
|
||||
>span : Symbol(span, Decl(tsxParseTests2.tsx, 2, 35))
|
||||
}
|
||||
|
||||
var x = </**/div></div>;
|
||||
>x : Symbol(x, Decl(tsxParseTests2.tsx, 5, 3))
|
||||
>div : Symbol(JSX.IntrinsicElements.div, Decl(tsxParseTests2.tsx, 2, 30))
|
||||
>div : Symbol(JSX.IntrinsicElements.div, Decl(tsxParseTests2.tsx, 2, 30))
|
||||
|
19
tests/baselines/reference/tsxParseTests2.types
Normal file
19
tests/baselines/reference/tsxParseTests2.types
Normal file
|
@ -0,0 +1,19 @@
|
|||
=== tests/cases/conformance/jsx/tsxParseTests2.tsx ===
|
||||
declare module JSX {
|
||||
>JSX : any
|
||||
|
||||
interface Element { }
|
||||
>Element : Element
|
||||
|
||||
interface IntrinsicElements { div; span; }
|
||||
>IntrinsicElements : IntrinsicElements
|
||||
>div : any
|
||||
>span : any
|
||||
}
|
||||
|
||||
var x = </**/div></div>;
|
||||
>x : JSX.Element
|
||||
></**/div></div> : JSX.Element
|
||||
>div : any
|
||||
>div : any
|
||||
|
8
tests/cases/conformance/jsx/tsxParseTests2.tsx
Normal file
8
tests/cases/conformance/jsx/tsxParseTests2.tsx
Normal file
|
@ -0,0 +1,8 @@
|
|||
//@filename: file.tsx
|
||||
//@jsx: preserve
|
||||
declare module JSX {
|
||||
interface Element { }
|
||||
interface IntrinsicElements { div; span; }
|
||||
}
|
||||
|
||||
var x = </**/div></div>;
|
Loading…
Reference in a new issue