MCPcopy
hub / github.com/PaulTaykalo/objc-dependency-visualizer / expression

Function expression

Scripts/ace/worker-javascript.js:3212–3293  ·  view source on GitHub ↗
(rbp, initial)

Source from the content-addressed store, hash-verified

3210 }
3211
3212 function expression(rbp, initial) {
3213 var left, isArray = false, isObject = false, isLetExpr = false;
3214
3215 state.nameStack.push();
3216 if (!initial && state.tokens.next.value === "let" && peek(0).value === "(") {
3217 if (!state.option.inMoz(true)) {
3218 warning("W118", state.tokens.next, "let expressions");
3219 }
3220 isLetExpr = true;
3221 funct["(blockscope)"].stack();
3222 advance("let");
3223 advance("(");
3224 state.tokens.prev.fud();
3225 advance(")");
3226 }
3227
3228 if (state.tokens.next.id === "(end)")
3229 error("E006", state.tokens.curr);
3230
3231 var isDangerous =
3232 state.option.asi &&
3233 state.tokens.prev.line !== startLine(state.tokens.curr) &&
3234 _.contains(["]", ")"], state.tokens.prev.id) &&
3235 _.contains(["[", "("], state.tokens.curr.id);
3236
3237 if (isDangerous)
3238 warning("W014", state.tokens.curr, state.tokens.curr.id);
3239
3240 advance();
3241
3242 if (initial) {
3243 funct["(verb)"] = state.tokens.curr.value;
3244 state.tokens.curr.beginsStmt = true;
3245 }
3246
3247 if (initial === true && state.tokens.curr.fud) {
3248 left = state.tokens.curr.fud();
3249 } else {
3250 if (state.tokens.curr.nud) {
3251 left = state.tokens.curr.nud();
3252 } else {
3253 error("E030", state.tokens.curr, state.tokens.curr.id);
3254 }
3255 while ((rbp < state.tokens.next.lbp || state.tokens.next.type === "(template)") &&
3256 !isEndOfExpr()) {
3257 isArray = state.tokens.curr.value === "Array";
3258 isObject = state.tokens.curr.value === "Object";
3259 if (left && (left.value || (left.first && left.first.value))) {
3260 if (left.value !== "new" ||
3261 (left.first && left.first.value && left.first.value === ".")) {
3262 isArray = false;
3263 if (left.value !== state.tokens.curr.value) {
3264 isObject = false;
3265 }
3266 }
3267 }
3268
3269 advance();

Callers 15

prefixFunction · 0.85
infixFunction · 0.85
relationFunction · 0.85
assignopFunction · 0.85
bitwiseFunction · 0.85
bitwiseassignopFunction · 0.85
statementFunction · 0.85
blockFunction · 0.85
functionparamsFunction · 0.85
doTemplateLiteralFunction · 0.85

Calls 6

peekFunction · 0.85
warningFunction · 0.85
advanceFunction · 0.85
startLineFunction · 0.85
isEndOfExprFunction · 0.85
errorFunction · 0.70

Tested by

no test coverage detected