()
| 7899 | // 12 Statements |
| 7900 | |
| 7901 | function parseStatement() { |
| 7902 | var type = lookahead.type, |
| 7903 | marker, |
| 7904 | expr, |
| 7905 | labeledBody; |
| 7906 | |
| 7907 | if (type === Token.EOF) { |
| 7908 | throwUnexpected(lookahead); |
| 7909 | } |
| 7910 | |
| 7911 | if (type === Token.Punctuator) { |
| 7912 | switch (lookahead.value) { |
| 7913 | case ';': |
| 7914 | return parseEmptyStatement(); |
| 7915 | case '{': |
| 7916 | return parseBlock(); |
| 7917 | case '(': |
| 7918 | return parseExpressionStatement(); |
| 7919 | default: |
| 7920 | break; |
| 7921 | } |
| 7922 | } |
| 7923 | |
| 7924 | if (type === Token.Keyword) { |
| 7925 | switch (lookahead.value) { |
| 7926 | case 'break': |
| 7927 | return parseBreakStatement(); |
| 7928 | case 'continue': |
| 7929 | return parseContinueStatement(); |
| 7930 | case 'debugger': |
| 7931 | return parseDebuggerStatement(); |
| 7932 | case 'do': |
| 7933 | return parseDoWhileStatement(); |
| 7934 | case 'for': |
| 7935 | return parseForStatement(); |
| 7936 | case 'function': |
| 7937 | return parseFunctionDeclaration(); |
| 7938 | case 'class': |
| 7939 | return parseClassDeclaration(); |
| 7940 | case 'if': |
| 7941 | return parseIfStatement(); |
| 7942 | case 'return': |
| 7943 | return parseReturnStatement(); |
| 7944 | case 'switch': |
| 7945 | return parseSwitchStatement(); |
| 7946 | case 'throw': |
| 7947 | return parseThrowStatement(); |
| 7948 | case 'try': |
| 7949 | return parseTryStatement(); |
| 7950 | case 'var': |
| 7951 | return parseVariableStatement(); |
| 7952 | case 'while': |
| 7953 | return parseWhileStatement(); |
| 7954 | case 'with': |
| 7955 | return parseWithStatement(); |
| 7956 | default: |
| 7957 | break; |
| 7958 | } |
no test coverage detected