()
| 1164 | } |
| 1165 | |
| 1166 | public Statement statement() { |
| 1167 | switch (la()) { |
| 1168 | case LEFT_BRACE: |
| 1169 | return block(); |
| 1170 | case VAR: |
| 1171 | return variableStatement(); |
| 1172 | case SEMICOLON: |
| 1173 | return emptyStatement(); |
| 1174 | case IF: |
| 1175 | return ifStatement(); |
| 1176 | case DO: |
| 1177 | case FOR: |
| 1178 | case WHILE: |
| 1179 | return iterationStatement(); |
| 1180 | case CONTINUE: |
| 1181 | return continueStatement(); |
| 1182 | case BREAK: |
| 1183 | return breakStatement(); |
| 1184 | case RETURN: |
| 1185 | return returnStatement(); |
| 1186 | case WITH: |
| 1187 | return withStatement(); |
| 1188 | case SWITCH: |
| 1189 | return switchStatement(); |
| 1190 | case THROW: |
| 1191 | return throwStatement(); |
| 1192 | case TRY: |
| 1193 | return tryStatement(); |
| 1194 | case DEBUGGER: |
| 1195 | return debuggerStatement(); |
| 1196 | case FUNCTION: |
| 1197 | if (currentContext().isStrict()) { |
| 1198 | throw new SyntaxError("function declaration in statement not allowed in strict-mode code"); |
| 1199 | } else { |
| 1200 | return functionDeclaration(); |
| 1201 | } |
| 1202 | } |
| 1203 | |
| 1204 | if (la(2) == COLON) { |
| 1205 | return labelledStatement(); |
| 1206 | } |
| 1207 | |
| 1208 | return expressionStatement(); |
| 1209 | } |
| 1210 | |
| 1211 | protected void semic() { |
| 1212 | if (la() == EOF) { |
no test coverage detected