Code Duplication    Length = 14-16 lines in 2 locations

src/Components/CaseExpression.php 2 locations

@@ 196-211 (lines=16) @@
193
                        $parser->error(__('Unexpected token'), $token);
194
                        break;
195
                    }
196
                } else {
197
                    if ($token->type === Token::TYPE_KEYWORD
198
                        && $token->value === 'THEN'
199
                    ) {
200
                        ++$list->idx; // Skip 'THEN'
201
                        $new_result = Expression::parse($parser, $list);
202
                        $state = 0;
203
                        $ret->results[] = $new_result;
204
                    } elseif ($token->type === Token::TYPE_KEYWORD) {
205
                        $parser->error(__('Unexpected keyword'), $token);
206
                        break;
207
                    } else {
208
                        $parser->error(__('Unexpected token'), $token);
209
                        break;
210
                    }
211
                }
212
            } elseif ($state === 2) {
213
                if ($type === 0) {
214
                    if ($token->type === Token::TYPE_KEYWORD
@@ 214-227 (lines=14) @@
211
                }
212
            } elseif ($state === 2) {
213
                if ($type === 0) {
214
                    if ($token->type === Token::TYPE_KEYWORD
215
                        && $token->value === 'THEN'
216
                    ) {
217
                        ++$list->idx; // Skip 'THEN'
218
                        $new_result = Expression::parse($parser, $list);
219
                        $ret->results[] = $new_result;
220
                        $state = 1;
221
                    } elseif ($token->type === Token::TYPE_KEYWORD) {
222
                        $parser->error(__('Unexpected keyword'), $token);
223
                        break;
224
                    } else {
225
                        $parser->error(__('Unexpected token'), $token);
226
                        break;
227
                    }
228
                } else {
229
                    $parser->error(__('Unexpected token'), $token);
230
                    break;