()
| 830 | }; |
| 831 | |
| 832 | function for_() { |
| 833 | expect("("); |
| 834 | var has_var = is("keyword", "var"); |
| 835 | if (has_var) |
| 836 | next(); |
| 837 | if (is("name") && is_token(peek(), "operator", "in")) { |
| 838 | // for (i in foo) |
| 839 | var name = S.token.value; |
| 840 | next(); next(); |
| 841 | var obj = expression(); |
| 842 | expect(")"); |
| 843 | return as("for-in", has_var, name, obj, in_loop(statement)); |
| 844 | } else { |
| 845 | // classic for |
| 846 | var init = is("punc", ";") ? null : has_var ? var_() : expression(); |
| 847 | expect(";"); |
| 848 | var test = is("punc", ";") ? null : expression(); |
| 849 | expect(";"); |
| 850 | var step = is("punc", ")") ? null : expression(); |
| 851 | expect(")"); |
| 852 | return as("for", init, test, step, in_loop(statement)); |
| 853 | } |
| 854 | }; |
| 855 | |
| 856 | function function_(in_statement) { |
| 857 | var name = is("name") ? prog1(S.token.value, next) : null; |
no test coverage detected
searching dependent graphs…