Skip to content

Commit 70c02dc

Browse files
committed
Move ExpressionArray to Lists
Signed-off-by: Kamil Tekiela <[email protected]>
1 parent bd0a2c9 commit 70c02dc

File tree

9 files changed

+56
-65
lines changed

9 files changed

+56
-65
lines changed

phpstan-baseline.neon

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -85,26 +85,6 @@ parameters:
8585
count: 1
8686
path: src/Components/Expression.php
8787

88-
-
89-
message: "#^Method PhpMyAdmin\\\\SqlParser\\\\Components\\\\ExpressionArray\\:\\:parse\\(\\) should return array\\<PhpMyAdmin\\\\SqlParser\\\\Components\\\\Expression\\> but returns array\\<int\\<0, max\\>, PhpMyAdmin\\\\SqlParser\\\\Components\\\\CaseExpression\\|PhpMyAdmin\\\\SqlParser\\\\Components\\\\Expression\\>\\.$#"
90-
count: 1
91-
path: src/Components/ExpressionArray.php
92-
93-
-
94-
message: "#^Parameter \\#1 \\$string of function strlen expects string, string\\|null given\\.$#"
95-
count: 1
96-
path: src/Components/ExpressionArray.php
97-
98-
-
99-
message: "#^Parameter \\#1 \\$string of function substr expects string, string\\|null given\\.$#"
100-
count: 1
101-
path: src/Components/ExpressionArray.php
102-
103-
-
104-
message: "#^Parameter \\#2 \\$subject of function preg_match expects string, string\\|null given\\.$#"
105-
count: 1
106-
path: src/Components/ExpressionArray.php
107-
10888
-
10989
message: "#^Property PhpMyAdmin\\\\SqlParser\\\\Components\\\\FunctionCall\\:\\:\\$parameters \\(PhpMyAdmin\\\\SqlParser\\\\Components\\\\ArrayObj\\|null\\) does not accept array\\<PhpMyAdmin\\\\SqlParser\\\\Component\\>\\|PhpMyAdmin\\\\SqlParser\\\\Components\\\\ArrayObj\\.$#"
11090
count: 1
@@ -210,6 +190,26 @@ parameters:
210190
count: 2
211191
path: src/Components/Lists/CreateDefinitions.php
212192

193+
-
194+
message: "#^Method PhpMyAdmin\\\\SqlParser\\\\Components\\\\Lists\\\\ExpressionArray\\:\\:parse\\(\\) should return array\\<PhpMyAdmin\\\\SqlParser\\\\Components\\\\Expression\\> but returns array\\<int\\<0, max\\>, PhpMyAdmin\\\\SqlParser\\\\Components\\\\CaseExpression\\|PhpMyAdmin\\\\SqlParser\\\\Components\\\\Expression\\>\\.$#"
195+
count: 1
196+
path: src/Components/Lists/ExpressionArray.php
197+
198+
-
199+
message: "#^Parameter \\#1 \\$string of function strlen expects string, string\\|null given\\.$#"
200+
count: 1
201+
path: src/Components/Lists/ExpressionArray.php
202+
203+
-
204+
message: "#^Parameter \\#1 \\$string of function substr expects string, string\\|null given\\.$#"
205+
count: 1
206+
path: src/Components/Lists/ExpressionArray.php
207+
208+
-
209+
message: "#^Parameter \\#2 \\$subject of function preg_match expects string, string\\|null given\\.$#"
210+
count: 1
211+
path: src/Components/Lists/ExpressionArray.php
212+
213213
-
214214
message: "#^Property PhpMyAdmin\\\\SqlParser\\\\Components\\\\LockExpression\\:\\:\\$table \\(PhpMyAdmin\\\\SqlParser\\\\Components\\\\Expression\\) does not accept PhpMyAdmin\\\\SqlParser\\\\Components\\\\Expression\\|null\\.$#"
215215
count: 1

psalm-baseline.xml

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -117,22 +117,6 @@
117117
<code><![CDATA[empty($ret->function) && ($prev[1] !== null)]]></code>
118118
</RedundantConditionGivenDocblockType>
119119
</file>
120-
<file src="src/Components/ExpressionArray.php">
121-
<InvalidReturnStatement>
122-
<code>$ret</code>
123-
</InvalidReturnStatement>
124-
<InvalidReturnType>
125-
<code>Expression[]</code>
126-
</InvalidReturnType>
127-
<PossiblyNullArgument>
128-
<code>$expr</code>
129-
<code>$expr</code>
130-
<code>$expr</code>
131-
</PossiblyNullArgument>
132-
<PossiblyUnusedMethod>
133-
<code>buildAll</code>
134-
</PossiblyUnusedMethod>
135-
</file>
136120
<file src="src/Components/FunctionCall.php">
137121
<MixedOperand>
138122
<code><![CDATA[$token->value]]></code>
@@ -265,6 +249,22 @@
265249
<code>$options</code>
266250
</UnusedParam>
267251
</file>
252+
<file src="src/Components/Lists/ExpressionArray.php">
253+
<InvalidReturnStatement>
254+
<code>$ret</code>
255+
</InvalidReturnStatement>
256+
<InvalidReturnType>
257+
<code>Expression[]</code>
258+
</InvalidReturnType>
259+
<PossiblyNullArgument>
260+
<code>$expr</code>
261+
<code>$expr</code>
262+
<code>$expr</code>
263+
</PossiblyNullArgument>
264+
<PossiblyUnusedMethod>
265+
<code>buildAll</code>
266+
</PossiblyUnusedMethod>
267+
</file>
268268
<file src="src/Components/LockExpression.php">
269269
<MissingConstructor>
270270
<code>$table</code>

src/Components/IndexHint.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
namespace PhpMyAdmin\SqlParser\Components;
66

77
use PhpMyAdmin\SqlParser\Component;
8+
use PhpMyAdmin\SqlParser\Components\Lists\ExpressionArray;
89
use PhpMyAdmin\SqlParser\Parser;
910
use PhpMyAdmin\SqlParser\TokensList;
1011
use PhpMyAdmin\SqlParser\TokenType;

src/Components/IntoKeyword.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
namespace PhpMyAdmin\SqlParser\Components;
66

77
use PhpMyAdmin\SqlParser\Component;
8+
use PhpMyAdmin\SqlParser\Components\Lists\ExpressionArray;
89
use PhpMyAdmin\SqlParser\Parser;
910
use PhpMyAdmin\SqlParser\Token;
1011
use PhpMyAdmin\SqlParser\TokensList;

src/Components/ExpressionArray.php renamed to src/Components/Lists/ExpressionArray.php

Lines changed: 4 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,15 @@
22

33
declare(strict_types=1);
44

5-
namespace PhpMyAdmin\SqlParser\Components;
5+
namespace PhpMyAdmin\SqlParser\Components\Lists;
66

7-
use PhpMyAdmin\SqlParser\Component;
7+
use PhpMyAdmin\SqlParser\Components\CaseExpression;
8+
use PhpMyAdmin\SqlParser\Components\Expression;
89
use PhpMyAdmin\SqlParser\Exceptions\ParserException;
910
use PhpMyAdmin\SqlParser\Parser;
1011
use PhpMyAdmin\SqlParser\Token;
1112
use PhpMyAdmin\SqlParser\TokensList;
1213
use PhpMyAdmin\SqlParser\TokenType;
13-
use PhpMyAdmin\SqlParser\Translator;
14-
use RuntimeException;
1514

1615
use function count;
1716
use function implode;
@@ -22,7 +21,7 @@
2221
/**
2322
* Parses a list of expressions delimited by a comma.
2423
*/
25-
final class ExpressionArray implements Component
24+
final class ExpressionArray
2625
{
2726
/**
2827
* @param Parser $parser the parser that serves as context
@@ -119,19 +118,9 @@ public static function parse(Parser $parser, TokensList $list, array $options =
119118
return $ret;
120119
}
121120

122-
public function build(): string
123-
{
124-
throw new RuntimeException(Translator::gettext('Not implemented yet.'));
125-
}
126-
127121
/** @param Expression[] $component the component to be built */
128122
public static function buildAll(array $component): string
129123
{
130124
return implode(', ', $component);
131125
}
132-
133-
public function __toString(): string
134-
{
135-
return $this->build();
136-
}
137126
}

src/Parser.php

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -158,12 +158,12 @@ class Parser
158158
'options' => ['parseField' => 'table'],
159159
],
160160
'ANALYZE' => [
161-
'class' => Components\ExpressionArray::class,
161+
'class' => Components\Lists\ExpressionArray::class,
162162
'field' => 'tables',
163163
'options' => ['parseField' => 'table'],
164164
],
165165
'BACKUP' => [
166-
'class' => Components\ExpressionArray::class,
166+
'class' => Components\Lists\ExpressionArray::class,
167167
'field' => 'tables',
168168
'options' => ['parseField' => 'table'],
169169
],
@@ -172,12 +172,12 @@ class Parser
172172
'field' => 'call',
173173
],
174174
'CHECK' => [
175-
'class' => Components\ExpressionArray::class,
175+
'class' => Components\Lists\ExpressionArray::class,
176176
'field' => 'tables',
177177
'options' => ['parseField' => 'table'],
178178
],
179179
'CHECKSUM' => [
180-
'class' => Components\ExpressionArray::class,
180+
'class' => Components\Lists\ExpressionArray::class,
181181
'field' => 'tables',
182182
'options' => ['parseField' => 'table'],
183183
],
@@ -186,7 +186,7 @@ class Parser
186186
'field' => 'join',
187187
],
188188
'DROP' => [
189-
'class' => Components\ExpressionArray::class,
189+
'class' => Components\Lists\ExpressionArray::class,
190190
'field' => 'fields',
191191
'options' => ['parseField' => 'table'],
192192
],
@@ -195,7 +195,7 @@ class Parser
195195
'field' => 'index_hints',
196196
],
197197
'FROM' => [
198-
'class' => Components\ExpressionArray::class,
198+
'class' => Components\Lists\ExpressionArray::class,
199199
'field' => 'from',
200200
'options' => ['field' => 'table'],
201201
],
@@ -281,7 +281,7 @@ class Parser
281281
'field' => 'limit',
282282
],
283283
'OPTIMIZE' => [
284-
'class' => Components\ExpressionArray::class,
284+
'class' => Components\Lists\ExpressionArray::class,
285285
'field' => 'tables',
286286
'options' => ['parseField' => 'table'],
287287
],
@@ -302,12 +302,12 @@ class Parser
302302
'field' => 'renames',
303303
],
304304
'REPAIR' => [
305-
'class' => Components\ExpressionArray::class,
305+
'class' => Components\Lists\ExpressionArray::class,
306306
'field' => 'tables',
307307
'options' => ['parseField' => 'table'],
308308
],
309309
'RESTORE' => [
310-
'class' => Components\ExpressionArray::class,
310+
'class' => Components\Lists\ExpressionArray::class,
311311
'field' => 'tables',
312312
'options' => ['parseField' => 'table'],
313313
],
@@ -316,7 +316,7 @@ class Parser
316316
'field' => 'set',
317317
],
318318
'SELECT' => [
319-
'class' => Components\ExpressionArray::class,
319+
'class' => Components\Lists\ExpressionArray::class,
320320
'field' => 'expr',
321321
],
322322
'TRUNCATE' => [
@@ -325,7 +325,7 @@ class Parser
325325
'options' => ['parseField' => 'table'],
326326
],
327327
'UPDATE' => [
328-
'class' => Components\ExpressionArray::class,
328+
'class' => Components\Lists\ExpressionArray::class,
329329
'field' => 'tables',
330330
'options' => ['parseField' => 'table'],
331331
],

src/Statements/DeleteStatement.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@
77
use PhpMyAdmin\SqlParser\Components\ArrayObj;
88
use PhpMyAdmin\SqlParser\Components\Condition;
99
use PhpMyAdmin\SqlParser\Components\Expression;
10-
use PhpMyAdmin\SqlParser\Components\ExpressionArray;
1110
use PhpMyAdmin\SqlParser\Components\JoinKeyword;
1211
use PhpMyAdmin\SqlParser\Components\Limit;
1312
use PhpMyAdmin\SqlParser\Components\Lists\Conditions;
13+
use PhpMyAdmin\SqlParser\Components\Lists\ExpressionArray;
1414
use PhpMyAdmin\SqlParser\Components\OptionsArray;
1515
use PhpMyAdmin\SqlParser\Components\OrderKeyword;
1616
use PhpMyAdmin\SqlParser\Parser;

src/Statements/LoadStatement.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
use PhpMyAdmin\SqlParser\Components\ArrayObj;
88
use PhpMyAdmin\SqlParser\Components\Expression;
9-
use PhpMyAdmin\SqlParser\Components\ExpressionArray;
9+
use PhpMyAdmin\SqlParser\Components\Lists\ExpressionArray;
1010
use PhpMyAdmin\SqlParser\Components\OptionsArray;
1111
use PhpMyAdmin\SqlParser\Components\SetOperation;
1212
use PhpMyAdmin\SqlParser\Parser;

tests/Components/ExpressionArrayTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
namespace PhpMyAdmin\SqlParser\Tests\Components;
66

7-
use PhpMyAdmin\SqlParser\Components\ExpressionArray;
7+
use PhpMyAdmin\SqlParser\Components\Lists\ExpressionArray;
88
use PhpMyAdmin\SqlParser\Parser;
99
use PhpMyAdmin\SqlParser\Tests\TestCase;
1010

0 commit comments

Comments
 (0)