mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-02-11 19:27:35 -06:00
Allow /* comments between < and JSX element name
This commit is contained in:
parent
c55d6dc0e3
commit
f780d68499
@ -3183,6 +3183,7 @@ namespace ts {
|
||||
if (sourceFile.languageVariant !== LanguageVariant.JSX) {
|
||||
return parseTypeAssertion();
|
||||
}
|
||||
debugger;
|
||||
if (lookAhead(nextTokenIsIdentifierOrKeyword)) {
|
||||
return parseJsxElementOrSelfClosingElement(/*inExpressionContext*/ true);
|
||||
}
|
||||
|
||||
@ -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 (text.charCodeAt(pos + 1) === CharacterCodes.slash &&
|
||||
text.charCodeAt(pos + 2) !== CharacterCodes.asterisk &&
|
||||
languageVariant === LanguageVariant.JSX) {
|
||||
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…
x
Reference in New Issue
Block a user