()
| 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"]; |
no test coverage detected