MCPcopy Create free account
hub / github.com/OpenEndedGroup/Field2 / comprehensiveArrayExpression

Function comprehensiveArrayExpression

lib/web/jshint.js:21605–21656  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

21603 }, 160, true);
21604
21605 function comprehensiveArrayExpression() {
21606 var res = {};
21607 res.exps = true;
21608 state.funct["(comparray)"].stack();
21609
21610 // Handle reversed for expressions, used in spidermonkey
21611 var reversed = false;
21612 if (state.tokens.next.value !== "for") {
21613 reversed = true;
21614 if (!state.inMoz()) {
21615 warning("W116", state.tokens.next, "for", state.tokens.next.value);
21616 }
21617 state.funct["(comparray)"].setState("use");
21618 res.right = expression(10);
21619 }
21620
21621 advance("for");
21622 if (state.tokens.next.value === "each") {
21623 advance("each");
21624 if (!state.inMoz()) {
21625 warning("W118", state.tokens.curr, "for each");
21626 }
21627 }
21628 advance("(");
21629 state.funct["(comparray)"].setState("define");
21630 res.left = expression(130);
21631 if (_.contains(["in", "of"], state.tokens.next.value)) {
21632 advance();
21633 } else {
21634 error("E045", state.tokens.curr);
21635 }
21636 state.funct["(comparray)"].setState("generate");
21637 expression(10);
21638
21639 advance(")");
21640 if (state.tokens.next.value === "if") {
21641 advance("if");
21642 advance("(");
21643 state.funct["(comparray)"].setState("filter");
21644 res.filter = expression(10);
21645 advance(")");
21646 }
21647
21648 if (!reversed) {
21649 state.funct["(comparray)"].setState("use");
21650 res.right = expression(10);
21651 }
21652
21653 advance("]");
21654 state.funct["(comparray)"].unstack();
21655 return res;
21656 }
21657
21658 prefix("[", function() {
21659 var blocktype = lookupBlockType();

Callers 1

jshint.jsFile · 0.85

Calls 6

warningFunction · 0.85
errorFunction · 0.85
expressionFunction · 0.70
advanceFunction · 0.70
setStateMethod · 0.45
containsMethod · 0.45

Tested by

no test coverage detected