MCPcopy Index your code
hub / github.com/BloombergGraphics/whatiscode / parseAssignmentExpression

Function parseAssignmentExpression

scripts/libs/esprima.js:3115–3148  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

3113 // 11.13 Assignment Operators
3114
3115 function parseAssignmentExpression() {
3116 var token, expr, right, list, startToken;
3117
3118 startToken = lookahead;
3119 token = lookahead;
3120
3121 expr = parseConditionalExpression();
3122
3123 if (expr.type === PlaceHolders.ArrowParameterPlaceHolder || match('=>')) {
3124 list = reinterpretAsCoverFormalsList(expr);
3125
3126 if (list) {
3127 return parseArrowFunctionExpression(list, new WrappingNode(startToken));
3128 }
3129 }
3130
3131 if (matchAssign()) {
3132 // LeftHandSideExpression
3133 if (!isLeftHandSide(expr)) {
3134 tolerateError(Messages.InvalidLHSInAssignment);
3135 }
3136
3137 // 11.13.1
3138 if (strict && expr.type === Syntax.Identifier && isRestrictedWord(expr.name)) {
3139 tolerateUnexpectedToken(token, Messages.StrictLHSAssignment);
3140 }
3141
3142 token = lex();
3143 right = parseAssignmentExpression();
3144 expr = new WrappingNode(startToken).finishAssignmentExpression(token.value, expr, right);
3145 }
3146
3147 return expr;
3148 }
3149
3150 // 11.14 Comma Operator
3151

Callers 12

parsePropertyPatternFunction · 0.85
parsePatternWithDefaultFunction · 0.85
parseArrayInitialiserFunction · 0.85
parseObjectPropertyKeyFunction · 0.85
parseObjectPropertyFunction · 0.85
parseGroupExpressionFunction · 0.85
parseArgumentsFunction · 0.85
parseConciseBodyFunction · 0.85
parseExpressionFunction · 0.85
parseVariableDeclarationFunction · 0.85
parseLexicalBindingFunction · 0.85

Calls 10

matchFunction · 0.85
matchAssignFunction · 0.85
isLeftHandSideFunction · 0.85
tolerateErrorFunction · 0.85
isRestrictedWordFunction · 0.85
tolerateUnexpectedTokenFunction · 0.85
lexFunction · 0.85

Tested by

no test coverage detected