phpmyadmin /
sql-parser
| 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
|
|||
| 48 | 8 | OptionsArrays::parse( |
|
| 49 | 8 | $parser, |
|
| 50 | 8 | $list, |
|
| 51 | 8 | static::$statementOptions, |
|
| 52 | 8 | ), |
|
| 53 | 8 | ); |
|
| 54 | } |
||
| 55 | } |
||
| 56 |
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.