Skip to content

Commit 13f45e5

Browse files
authored
Merge pull request #138 from laminas/2.24.x-merge-up-into-2.25.x_sar9mpV4
Merge release 2.24.1 into 2.25.x
2 parents 0e9dd25 + 8ab96d2 commit 13f45e5

File tree

11 files changed

+224
-71
lines changed

11 files changed

+224
-71
lines changed

.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,4 @@
1212
/psalm.xml.dist export-ignore
1313
/renovate.json export-ignore
1414
/test/ export-ignore
15+
/psalm/ export-ignore

psalm-baseline.xml

Lines changed: 100 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,27 @@
77
<MixedAssignment>
88
<code>$contents</code>
99
</MixedAssignment>
10+
<PossiblyUnusedReturnValue>
11+
<code>int</code>
12+
<code>string</code>
13+
</PossiblyUnusedReturnValue>
1014
</file>
1115
<file src="src/Exception/DeserializationException.php">
1216
<PossiblyInvalidArgument>
1317
<code><![CDATA[$previous->getCode()]]></code>
1418
<code><![CDATA[$previous->getCode()]]></code>
1519
</PossiblyInvalidArgument>
1620
</file>
21+
<file src="src/Exception/InvalidProxyAddressException.php">
22+
<PossiblyUnusedMethod>
23+
<code>forInvalidProxyArgument</code>
24+
</PossiblyUnusedMethod>
25+
</file>
26+
<file src="src/HeaderSecurity.php">
27+
<UnusedConstructor>
28+
<code>__construct</code>
29+
</UnusedConstructor>
30+
</file>
1731
<file src="src/MessageTrait.php">
1832
<DocblockTypeContradiction>
1933
<code>! is_string($name)</code>
@@ -59,6 +73,11 @@
5973
<code>is_string($version)</code>
6074
</TypeDoesNotContainType>
6175
</file>
76+
<file src="src/Module.php">
77+
<UnusedClass>
78+
<code>Module</code>
79+
</UnusedClass>
80+
</file>
6281
<file src="src/PhpInputStream.php">
6382
<MissingParamType>
6483
<code>$maxLength</code>
@@ -82,7 +101,7 @@
82101
<code>$protocolVersion</code>
83102
<code>$requestTarget</code>
84103
<code>$uri</code>
85-
<code><![CDATA[self::getValueFromKey($serializedRequest, 'body')]]></code>
104+
<code>self::getValueFromKey($serializedRequest, 'body')</code>
86105
</MixedArgument>
87106
<MixedAssignment>
88107
<code>$headers</code>
@@ -108,10 +127,6 @@
108127
<DocblockTypeContradiction>
109128
<code>is_string($method)</code>
110129
</DocblockTypeContradiction>
111-
<PossiblyNullOperand>
112-
<code><![CDATA[$this->uri->getPort()]]></code>
113-
<code><![CDATA[$uri->getPort()]]></code>
114-
</PossiblyNullOperand>
115130
</file>
116131
<file src="src/Response.php">
117132
<DocblockTypeContradiction>
@@ -139,7 +154,7 @@
139154
<code>$protocolVersion</code>
140155
<code>$reasonPhrase</code>
141156
<code>$statusCode</code>
142-
<code><![CDATA[self::getValueFromKey($serializedResponse, 'body')]]></code>
157+
<code>self::getValueFromKey($serializedResponse, 'body')</code>
143158
</MixedArgument>
144159
<MixedAssignment>
145160
<code>$headers</code>
@@ -215,7 +230,7 @@
215230
</file>
216231
<file src="src/ServerRequestFactory.php">
217232
<LessSpecificReturnStatement>
218-
<code><![CDATA[$requestFilter(new ServerRequest(
233+
<code>$requestFilter(new ServerRequest(
219234
$server,
220235
$files,
221236
UriFactory::createFromSapi($server, $headers),
@@ -226,10 +241,10 @@
226241
$query ?: $_GET,
227242
$body ?: $_POST,
228243
marshalProtocolVersionFromSapi($server)
229-
))]]></code>
244+
))</code>
230245
</LessSpecificReturnStatement>
231246
<MixedArgument>
232-
<code><![CDATA[$headers['cookie']]]></code>
247+
<code>$headers['cookie']</code>
233248
</MixedArgument>
234249
<MixedArgumentTypeCoercion>
235250
<code>$headers</code>
@@ -247,9 +262,6 @@
247262
<code>getHeaderLine</code>
248263
<code>getServerParams</code>
249264
<code>getUri</code>
250-
<code>withHost</code>
251-
<code>withPort</code>
252-
<code>withScheme</code>
253265
<code>withUri</code>
254266
</ImpureMethodCall>
255267
<LessSpecificReturnStatement>
@@ -259,13 +271,21 @@
259271
<code><![CDATA[list<non-empty-string>]]></code>
260272
</MoreSpecificReturnType>
261273
</file>
274+
<file src="src/ServerRequestFilter/IPRange.php">
275+
<UnusedConstructor>
276+
<code>__construct</code>
277+
</UnusedConstructor>
278+
</file>
262279
<file src="src/Stream.php">
263280
<PossiblyNullArgument>
264281
<code>$resource</code>
265282
<code><![CDATA[$this->resource]]></code>
266283
<code><![CDATA[$this->resource]]></code>
267284
<code><![CDATA[$this->resource]]></code>
268285
</PossiblyNullArgument>
286+
<PossiblyUnusedProperty>
287+
<code>$stream</code>
288+
</PossiblyUnusedProperty>
269289
</file>
270290
<file src="src/StreamFactory.php">
271291
<ParamNameMismatch>
@@ -334,6 +354,9 @@
334354
<UndefinedAttributeClass>
335355
<code>SensitiveParameter</code>
336356
</UndefinedAttributeClass>
357+
<UnusedMethodCall>
358+
<code>parseUri</code>
359+
</UnusedMethodCall>
337360
</file>
338361
<file src="src/functions/create_uploaded_file.legacy.php">
339362
<MixedArgument>
@@ -342,10 +365,10 @@
342365
</file>
343366
<file src="src/functions/create_uploaded_file.php">
344367
<MixedArgument>
345-
<code><![CDATA[$spec['error']]]></code>
346-
<code><![CDATA[$spec['name'] ?? null]]></code>
347-
<code><![CDATA[$spec['tmp_name']]]></code>
348-
<code><![CDATA[$spec['type'] ?? null]]></code>
368+
<code>$spec['error']</code>
369+
<code>$spec['name'] ?? null</code>
370+
<code>$spec['tmp_name']</code>
371+
<code>$spec['type'] ?? null</code>
349372
</MixedArgument>
350373
</file>
351374
<file src="src/functions/marshal_headers_from_sapi.legacy.php">
@@ -370,8 +393,8 @@
370393
<code>string</code>
371394
</MixedInferredReturnType>
372395
<MixedReturnStatement>
373-
<code><![CDATA[$server['REQUEST_METHOD'] ?? 'GET']]></code>
374-
<code><![CDATA[$server['REQUEST_METHOD'] ?? 'GET']]></code>
396+
<code>$server['REQUEST_METHOD'] ?? 'GET'</code>
397+
<code>$server['REQUEST_METHOD'] ?? 'GET'</code>
375398
</MixedReturnStatement>
376399
</file>
377400
<file src="src/functions/marshal_protocol_version_from_sapi.legacy.php">
@@ -381,7 +404,7 @@
381404
</file>
382405
<file src="src/functions/marshal_protocol_version_from_sapi.php">
383406
<MixedArgument>
384-
<code><![CDATA[$server['SERVER_PROTOCOL']]]></code>
407+
<code>$server['SERVER_PROTOCOL']</code>
385408
</MixedArgument>
386409
</file>
387410
<file src="src/functions/marshal_uri_from_sapi.legacy.php">
@@ -401,14 +424,14 @@
401424
<code>static function (string $name, array $headers, $default = null) {</code>
402425
</MissingClosureReturnType>
403426
<MixedArgument>
404-
<code><![CDATA[$getHeaderFromArray('x-forwarded-proto', $headers, '')]]></code>
427+
<code>$getHeaderFromArray('x-forwarded-proto', $headers, '')</code>
405428
<code>$host</code>
406429
<code>$host</code>
407430
<code>$host</code>
408431
<code>$host</code>
409432
<code>$port</code>
410433
<code>$requestUri</code>
411-
<code><![CDATA[$server['QUERY_STRING']]]></code>
434+
<code>$server['QUERY_STRING']</code>
412435
</MixedArgument>
413436
<MixedArgumentTypeCoercion>
414437
<code>$headers[$header]</code>
@@ -425,15 +448,15 @@
425448
<code>string</code>
426449
</MixedInferredReturnType>
427450
<MixedOperand>
428-
<code><![CDATA[$server['SERVER_ADDR']]]></code>
451+
<code>$server['SERVER_ADDR']</code>
429452
</MixedOperand>
430453
<MixedReturnStatement>
431454
<code>$defaults</code>
432455
<code>$origPathInfo</code>
433456
<code>$unencodedUrl</code>
434457
</MixedReturnStatement>
435458
<PossiblyFalseOperand>
436-
<code><![CDATA[strrpos($host, ':')]]></code>
459+
<code>strrpos($host, ':')</code>
437460
</PossiblyFalseOperand>
438461
</file>
439462
<file src="src/functions/normalize_server.legacy.php">
@@ -444,13 +467,13 @@
444467
</file>
445468
<file src="src/functions/normalize_server.php">
446469
<MixedArrayAccess>
447-
<code><![CDATA[$apacheRequestHeaders['Authorization']]]></code>
448-
<code><![CDATA[$apacheRequestHeaders['authorization']]]></code>
470+
<code>$apacheRequestHeaders['Authorization']</code>
471+
<code>$apacheRequestHeaders['authorization']</code>
449472
</MixedArrayAccess>
450473
<MixedAssignment>
451474
<code>$apacheRequestHeaders</code>
452-
<code><![CDATA[$server['HTTP_AUTHORIZATION']]]></code>
453-
<code><![CDATA[$server['HTTP_AUTHORIZATION']]]></code>
475+
<code>$server['HTTP_AUTHORIZATION']</code>
476+
<code>$server['HTTP_AUTHORIZATION']</code>
454477
</MixedAssignment>
455478
</file>
456479
<file src="src/functions/normalize_uploaded_files.legacy.php">
@@ -478,25 +501,25 @@
478501
$nameTree[$key] ?? null,
479502
$typeTree[$key] ?? null
480503
)</code>
481-
<code><![CDATA[$recursiveNormalize(
504+
<code>$recursiveNormalize(
482505
$files['tmp_name'],
483506
$files['size'],
484507
$files['error'],
485508
$files['name'] ?? null,
486509
$files['type'] ?? null
487-
)]]></code>
510+
)</code>
488511
</MixedFunctionCall>
489512
<MixedInferredReturnType>
490513
<code>array</code>
491514
</MixedInferredReturnType>
492515
<MixedReturnStatement>
493-
<code><![CDATA[$recursiveNormalize(
516+
<code>$recursiveNormalize(
494517
$files['tmp_name'],
495518
$files['size'],
496519
$files['error'],
497520
$files['name'] ?? null,
498521
$files['type'] ?? null
499-
)]]></code>
522+
)</code>
500523
</MixedReturnStatement>
501524
</file>
502525
<file src="src/functions/parse_cookie_header.legacy.php">
@@ -576,19 +599,35 @@
576599
</file>
577600
<file src="test/ServerRequestFactoryTest.php">
578601
<InvalidArgument>
579-
<code><![CDATA[$normalizedFiles['fooFiles']]]></code>
602+
<code>$normalizedFiles['fooFiles']</code>
580603
</InvalidArgument>
581604
</file>
582605
<file src="test/ServerRequestTest.php">
583606
<InvalidArgument>
584607
<code>$parsedBody</code>
585608
</InvalidArgument>
586609
</file>
610+
<file src="test/StaticAnalysis/RequestInterfaceStaticReturnTypes.php">
611+
<UnusedClass>
612+
<code>RequestInterfaceStaticReturnTypes</code>
613+
</UnusedClass>
614+
</file>
587615
<file src="test/StreamTest.php">
588616
<DeprecatedMethod>
589617
<code>setMethods</code>
590618
</DeprecatedMethod>
591619
</file>
620+
<file src="test/TestAsset/CallbacksForCallbackStreamTest.php">
621+
<PossiblyUnusedMethod>
622+
<code>sampleCallback</code>
623+
<code>sampleStaticCallback</code>
624+
</PossiblyUnusedMethod>
625+
</file>
626+
<file src="test/TestAsset/HeaderStack.php">
627+
<UnusedClass>
628+
<code>HeaderStack</code>
629+
</UnusedClass>
630+
</file>
592631
<file src="test/UploadedFileTest.php">
593632
<MixedArgument>
594633
<code>$path</code>
@@ -602,26 +641,32 @@
602641
<MixedAssignment>
603642
<code>$test</code>
604643
</MixedAssignment>
644+
<PossiblyUnusedParam>
645+
<code>$query</code>
646+
</PossiblyUnusedParam>
647+
<UnusedMethodCall>
648+
<code>withUserInfo</code>
649+
</UnusedMethodCall>
605650
</file>
606651
<file src="test/functions/NormalizeUploadedFilesTest.php">
607652
<MixedArgument>
608-
<code><![CDATA[$normalised['my-form']['details']['avatars']]]></code>
609-
<code><![CDATA[$normalised['slide-shows'][0]['slides']]]></code>
653+
<code>$normalised['my-form']['details']['avatars']</code>
654+
<code>$normalised['slide-shows'][0]['slides']</code>
610655
</MixedArgument>
611656
<MixedArrayAccess>
612-
<code><![CDATA[$normalised['my-form']['details']['avatar']]]></code>
613-
<code><![CDATA[$normalised['my-form']['details']['avatars']]]></code>
614-
<code><![CDATA[$normalised['my-form']['details']['avatars']]]></code>
615-
<code><![CDATA[$normalised['my-form']['details']['avatars']]]></code>
616-
<code><![CDATA[$normalised['my-form']['details']['avatars']]]></code>
617-
<code><![CDATA[$normalised['my-form']['details']['avatars'][0]]]></code>
618-
<code><![CDATA[$normalised['my-form']['details']['avatars'][1]]]></code>
619-
<code><![CDATA[$normalised['my-form']['details']['avatars'][2]]]></code>
620-
<code><![CDATA[$normalised['slide-shows'][0]['slides']]]></code>
621-
<code><![CDATA[$normalised['slide-shows'][0]['slides']]]></code>
622-
<code><![CDATA[$normalised['slide-shows'][0]['slides']]]></code>
623-
<code><![CDATA[$normalised['slide-shows'][0]['slides'][0]]]></code>
624-
<code><![CDATA[$normalised['slide-shows'][0]['slides'][1]]]></code>
657+
<code>$normalised['my-form']['details']['avatar']</code>
658+
<code>$normalised['my-form']['details']['avatars']</code>
659+
<code>$normalised['my-form']['details']['avatars']</code>
660+
<code>$normalised['my-form']['details']['avatars']</code>
661+
<code>$normalised['my-form']['details']['avatars']</code>
662+
<code>$normalised['my-form']['details']['avatars'][0]</code>
663+
<code>$normalised['my-form']['details']['avatars'][1]</code>
664+
<code>$normalised['my-form']['details']['avatars'][2]</code>
665+
<code>$normalised['slide-shows'][0]['slides']</code>
666+
<code>$normalised['slide-shows'][0]['slides']</code>
667+
<code>$normalised['slide-shows'][0]['slides']</code>
668+
<code>$normalised['slide-shows'][0]['slides'][0]</code>
669+
<code>$normalised['slide-shows'][0]['slides'][1]</code>
625670
</MixedArrayAccess>
626671
<MixedMethodCall>
627672
<code>getClientFilename</code>
@@ -632,14 +677,14 @@
632677
<code>getClientFilename</code>
633678
</MixedMethodCall>
634679
<UndefinedInterfaceMethod>
635-
<code><![CDATA[$normalised['my-form']]]></code>
636-
<code><![CDATA[$normalised['my-form']]]></code>
637-
<code><![CDATA[$normalised['my-form']]]></code>
638-
<code><![CDATA[$normalised['my-form']]]></code>
639-
<code><![CDATA[$normalised['my-form']]]></code>
640-
<code><![CDATA[$normalised['slide-shows']]]></code>
641-
<code><![CDATA[$normalised['slide-shows']]]></code>
642-
<code><![CDATA[$normalised['slide-shows']]]></code>
680+
<code>$normalised['my-form']</code>
681+
<code>$normalised['my-form']</code>
682+
<code>$normalised['my-form']</code>
683+
<code>$normalised['my-form']</code>
684+
<code>$normalised['my-form']</code>
685+
<code>$normalised['slide-shows']</code>
686+
<code>$normalised['slide-shows']</code>
687+
<code>$normalised['slide-shows']</code>
643688
</UndefinedInterfaceMethod>
644689
</file>
645690
</files>

psalm.xml.dist

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@
55
xmlns="https://getpsalm.org/schema/config"
66
xsi:schemaLocation="https://getpsalm.org/schema/config vendor/vimeo/psalm/config.xsd"
77
errorBaseline="psalm-baseline.xml"
8+
findUnusedCode="true"
9+
findUnusedPsalmSuppress="true"
10+
findUnusedBaselineEntry="true"
811
>
912
<projectFiles>
1013
<directory name="src"/>
@@ -14,6 +17,10 @@
1417
</ignoreFiles>
1518
</projectFiles>
1619

20+
<stubs>
21+
<file name="psalm/http-message-stubs/UriInterface.phpstub"/>
22+
</stubs>
23+
1724
<issueHandlers>
1825
<DeprecatedFunction>
1926
<errorLevel type="suppress">

0 commit comments

Comments
 (0)