Code Duplication    Length = 30-31 lines in 2 locations

src/Statements/InsertStatement.php 1 location

@@ 201-231 (lines=31) @@
198
                }
199
200
                $state = 1;
201
            } elseif ($state === 1) {
202
                if ($token->type === Token::TYPE_KEYWORD) {
203
                    if ($token->value === 'VALUE'
204
                        || $token->value === 'VALUES'
205
                    ) {
206
                        ++$list->idx; // skip VALUES
207
208
                        $this->values = Array2d::parse($parser, $list);
209
                    } elseif ($token->value === 'SET') {
210
                        ++$list->idx; // skip SET
211
212
                        $this->set = SetOperation::parse($parser, $list);
213
                    } elseif ($token->value === 'SELECT') {
214
                        $this->select = new SelectStatement($parser, $list);
215
                    } else {
216
                        $parser->error(
217
                            __('Unexpected keyword.'),
218
                            $token
219
                        );
220
                        break;
221
                    }
222
                    $state = 2;
223
                    $miniState = 1;
224
                } else {
225
                    $parser->error(
226
                        __('Unexpected token.'),
227
                        $token
228
                    );
229
                    break;
230
                }
231
            } elseif ($state == 2) {
232
                $lastCount = $miniState;
233
234
                if ($miniState === 1 && $token->value === 'ON') {

src/Statements/ReplaceStatement.php 1 location

@@ 167-196 (lines=30) @@
164
                }
165
166
                $state = 1;
167
            } elseif ($state === 1) {
168
                if ($token->type === Token::TYPE_KEYWORD) {
169
                    if ($token->value === 'VALUE'
170
                        || $token->value === 'VALUES'
171
                    ) {
172
                        ++$list->idx; // skip VALUES
173
174
                        $this->values = Array2d::parse($parser, $list);
175
                    } elseif ($token->value === 'SET') {
176
                        ++$list->idx; // skip SET
177
178
                        $this->set = SetOperation::parse($parser, $list);
179
                    } elseif ($token->value === 'SELECT') {
180
                        $this->select = new SelectStatement($parser, $list);
181
                    } else {
182
                        $parser->error(
183
                            __('Unexpected keyword.'),
184
                            $token
185
                        );
186
                        break;
187
                    }
188
                    $state = 2;
189
                } else {
190
                    $parser->error(
191
                        __('Unexpected token.'),
192
                        $token
193
                    );
194
                    break;
195
                }
196
            }
197
        }
198
199
        --$list->idx;