Prevent valid JSX from being seen as the start of a generic arrow function, fix crashes (#52450)

This commit is contained in:
Jake Bailey
2023-01-31 16:55:48 -08:00
committed by GitHub
parent 3d07795092
commit 95840557bf
14 changed files with 141 additions and 1 deletions

View File

@@ -5201,6 +5201,7 @@ namespace Parser {
switch (fourth) {
case SyntaxKind.EqualsToken:
case SyntaxKind.GreaterThanToken:
case SyntaxKind.SlashToken:
return false;
default:
return true;

View File

@@ -9079,7 +9079,7 @@ export function rangeOfNode(node: Node): TextRange {
export function rangeOfTypeParameters(sourceFile: SourceFile, typeParameters: NodeArray<TypeParameterDeclaration>): TextRange {
// Include the `<>`
const pos = typeParameters.pos - 1;
const end = skipTrivia(sourceFile.text, typeParameters.end) + 1;
const end = Math.min(sourceFile.text.length, skipTrivia(sourceFile.text, typeParameters.end) + 1);
return { pos, end };
}