MCPcopy Index your code
hub / github.com/nodejs/node / parseJsxExpression

Function parseJsxExpression

test/fixtures/snapshot/typescript.js:35374–35397  ·  view source on GitHub ↗
(inExpressionContext)

Source from the content-addressed store, hash-verified

35372 return expression;
35373 }
35374 function parseJsxExpression(inExpressionContext) {
35375 var pos = getNodePos();
35376 if (!parseExpected(18 /* SyntaxKind.OpenBraceToken */)) {
35377 return undefined;
35378 }
35379 var dotDotDotToken;
35380 var expression;
35381 if (token() !== 19 /* SyntaxKind.CloseBraceToken */) {
35382 dotDotDotToken = parseOptionalToken(25 /* SyntaxKind.DotDotDotToken */);
35383 // Only an AssignmentExpression is valid here per the JSX spec,
35384 // but we can unambiguously parse a comma sequence and provide
35385 // a better error message in grammar checking.
35386 expression = parseExpression();
35387 }
35388 if (inExpressionContext) {
35389 parseExpected(19 /* SyntaxKind.CloseBraceToken */);
35390 }
35391 else {
35392 if (parseExpected(19 /* SyntaxKind.CloseBraceToken */, /*message*/ undefined, /*shouldAdvance*/ false)) {
35393 scanJsxText();
35394 }
35395 }
35396 return finishNode(factory.createJsxExpression(dotDotDotToken, expression), pos);
35397 }
35398 function parseJsxAttribute() {
35399 if (token() === 18 /* SyntaxKind.OpenBraceToken */) {
35400 return parseJsxSpreadAttribute();

Callers 2

parseJsxChildFunction · 0.85
parseJsxAttributeFunction · 0.85

Calls 7

getNodePosFunction · 0.85
parseExpectedFunction · 0.85
parseOptionalTokenFunction · 0.85
parseExpressionFunction · 0.85
scanJsxTextFunction · 0.85
finishNodeFunction · 0.85
tokenFunction · 0.70

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…