Code Duplication    Length = 15-17 lines in 2 locations

src/Statements/DeleteStatement.php 2 locations

@@ 241-257 (lines=17) @@
238
                    $this->columns = ExpressionArray::parse($parser, $list);
239
                    $state = 1;
240
                }
241
            } elseif ($state === 1) {
242
                if ($token->type === Token::TYPE_KEYWORD
243
                    && $token->keyword !== 'FROM'
244
                ) {
245
                    $parser->error('Unexpected keyword.', $token);
246
                    break;
247
                } elseif ($token->type === Token::TYPE_KEYWORD
248
                    && $token->keyword === 'FROM'
249
                ) {
250
                    ++$list->idx; // Skip 'FROM'
251
                    $this->from = ExpressionArray::parse($parser, $list);
252
253
                    $state = 2;
254
                } else {
255
                    $parser->error('Unexpected token.', $token);
256
                    break;
257
                }
258
            } elseif ($state === 2) {
259
                if ($token->type === Token::TYPE_KEYWORD
260
                    && stripos($token->keyword, 'JOIN') !== false
@@ 296-310 (lines=15) @@
293
                    $parser->error('Unexpected keyword.', $token);
294
                    break;
295
                }
296
            } elseif ($state === 3) {
297
                if ($token->type === Token::TYPE_KEYWORD
298
                    && $token->keyword === 'WHERE'
299
                ) {
300
                    ++$list->idx; // Skip 'WHERE'
301
                    $this->where = Condition::parse($parser, $list);
302
                    $state = 4;
303
                } elseif ($token->type === Token::TYPE_KEYWORD) {
304
                    $parser->error('Unexpected keyword.', $token);
305
                    break;
306
                } else {
307
                    $parser->error('Unexpected token.', $token);
308
                    break;
309
                }
310
            } elseif ($state === 4) {
311
                if ($multiTable === true
312
                    && $token->type === Token::TYPE_KEYWORD
313
                ) {