Issues (119)

src/Statements/MaintenanceStatement.php (1 issue)

Labels
Severity
1
<?php
2
3
declare(strict_types=1);
4
5
namespace PhpMyAdmin\SqlParser\Statements;
6
7
use PhpMyAdmin\SqlParser\Components\Expression;
8
use PhpMyAdmin\SqlParser\Parser;
9
use PhpMyAdmin\SqlParser\Parsers\OptionsArrays;
10
use PhpMyAdmin\SqlParser\Statement;
11
use PhpMyAdmin\SqlParser\Token;
12
use PhpMyAdmin\SqlParser\TokensList;
13
14
/**
15
 * Maintenance statement.
16
 *
17
 * They follow the syntax:
18
 *     STMT [some options] tbl_name [, tbl_name] ... [some more options]
19
 */
20
class MaintenanceStatement extends Statement
21
{
22
    /**
23
     * Tables maintained.
24
     *
25
     * @var Expression[]|null
26
     */
27
    public array|null $tables = null;
28
29
    /**
30
     * Function called after the token was processed.
31
     *
32
     * Parses the additional options from the end.
33
     *
34
     * @param Parser     $parser the instance that requests parsing
35
     * @param TokensList $list   the list of tokens to be parsed
36
     * @param Token      $token  the token that is being parsed
37
     */
38 8
    public function after(Parser $parser, TokensList $list, Token $token): void
39
    {
40
        // [some options] is going to be parsed first.
41
        //
42
        // There is a parser specified in `Parser::KEYWORD_PARSERS`
43
        // which parses the name of the tables.
44
        //
45
        // Finally, we parse here [some more options] and that's all.
46 8
        ++$list->idx;
47 8
        $this->options->merge(
0 ignored issues
show
The method merge() does not exist on null. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

47
        $this->options->/** @scrutinizer ignore-call */ 
48
                        merge(

This check looks for calls to methods that do not seem to exist on a given type. It looks for the method on the type itself as well as in inherited classes or implemented interfaces.

This is most likely a typographical error or the method has been renamed.

Loading history...
48 8
            OptionsArrays::parse(
49 8
                $parser,
50 8
                $list,
51 8
                static::$statementOptions,
52 8
            ),
53 8
        );
54
    }
55
}
56