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

Function lookupBlockType

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

Source from the content-addressed store, hash-verified

23825 // expression is a comprehension array, destructuring assignment or a json value.
23826
23827 var lookupBlockType = function() {
23828 var pn, pn1, prev;
23829 var i = -1;
23830 var bracketStack = 0;
23831 var ret = {};
23832 if (checkPunctuators(state.tokens.curr, ["[", "{"])) {
23833 bracketStack += 1;
23834 }
23835 do {
23836 prev = i === -1 ? state.tokens.curr : pn;
23837 pn = i === -1 ? state.tokens.next : peek(i);
23838 pn1 = peek(i + 1);
23839 i = i + 1;
23840 if (checkPunctuators(pn, ["[", "{"])) {
23841 bracketStack += 1;
23842 } else if (checkPunctuators(pn, ["]", "}"])) {
23843 bracketStack -= 1;
23844 }
23845 if (bracketStack === 1 && pn.identifier && pn.value === "for" &&
23846 !checkPunctuator(prev, ".")) {
23847 ret.isCompArray = true;
23848 ret.notJson = true;
23849 break;
23850 }
23851 if (bracketStack === 0 && checkPunctuators(pn, ["}", "]"])) {
23852 if (pn1.value === "=") {
23853 ret.isDestAssign = true;
23854 ret.notJson = true;
23855 break;
23856 } else if (pn1.value === ".") {
23857 ret.notJson = true;
23858 break;
23859 }
23860 }
23861 if (checkPunctuator(pn, ";")) {
23862 ret.isBlock = true;
23863 ret.notJson = true;
23864 }
23865 } while (bracketStack > 0 && pn.id !== "(end)");
23866 return ret;
23867 };
23868
23869 function saveProperty(props, name, tkn, isClass, isStatic) {
23870 var msg = ["key", "class method", "static class method"];

Callers 2

jshint.jsFile · 0.85

Calls 3

checkPunctuatorsFunction · 0.85
peekFunction · 0.85
checkPunctuatorFunction · 0.85

Tested by

no test coverage detected