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

Function parseUpdateExpression

test/fixtures/snapshot/typescript.js:35051–35068  ·  view source on GitHub ↗

* Parse ES7 UpdateExpression. UpdateExpression is used instead of ES6's PostFixExpression. * * ES7 UpdateExpression[yield]: * 1) LeftHandSideExpression[?yield] * 2) LeftHandSideExpression[?yield] [[no LineTerminator here]]++ * 3) LeftHandSi

()

Source from the content-addressed store, hash-verified

35049 * In TypeScript (2), (3) are parsed as PostfixUnaryExpression. (4), (5) are parsed as PrefixUnaryExpression
35050 */
35051 function parseUpdateExpression() {
35052 if (token() === 45 /* SyntaxKind.PlusPlusToken */ || token() === 46 /* SyntaxKind.MinusMinusToken */) {
35053 var pos = getNodePos();
35054 return finishNode(factory.createPrefixUnaryExpression(token(), nextTokenAnd(parseLeftHandSideExpressionOrHigher)), pos);
35055 }
35056 else if (languageVariant === 1 /* LanguageVariant.JSX */ && token() === 29 /* SyntaxKind.LessThanToken */ && lookAhead(nextTokenIsIdentifierOrKeywordOrGreaterThan)) {
35057 // JSXElement is part of primaryExpression
35058 return parseJsxElementOrSelfClosingElementOrFragment(/*inExpressionContext*/ true);
35059 }
35060 var expression = parseLeftHandSideExpressionOrHigher();
35061 ts.Debug.assert(ts.isLeftHandSideExpression(expression));
35062 if ((token() === 45 /* SyntaxKind.PlusPlusToken */ || token() === 46 /* SyntaxKind.MinusMinusToken */) && !scanner.hasPrecedingLineBreak()) {
35063 var operator = token();
35064 nextToken();
35065 return finishNode(factory.createPostfixUnaryExpression(expression, operator), expression.pos);
35066 }
35067 return expression;
35068 }
35069 function parseLeftHandSideExpressionOrHigher() {
35070 // Original Ecma:
35071 // LeftHandSideExpression: See 11.2

Callers 2

Calls 9

getNodePosFunction · 0.85
finishNodeFunction · 0.85
nextTokenAndFunction · 0.85
lookAheadFunction · 0.85
nextTokenFunction · 0.85
assertMethod · 0.80
tokenFunction · 0.70

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…