Code Duplication    Length = 30-31 lines in 2 locations

src/Statements/InsertStatement.php 1 location

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