Closed bnoordsij closed 1 year ago
If I may answer - see https://github.com/sirbrillig/phpcs-variable-analysis/issues/297. If you're using this via composer, it'll help if you upgrade to 2.x-dev
. Otherwise just checkout the current code from 2.x
branch and it should work.
This will hopefully also be fixed by https://github.com/sirbrillig/phpcs-variable-analysis/pull/298
This should be fixed now (it was due to the return types) but if you discover any more arrow functions behaving weird, please let me know!
$ composer info | grep phpcs-variable-analysis
sirbrillig/phpcs-variable-analysis v2.11.15 A PHPCS sniff to detect problems with variables.
$ composer style
> vendor/bin/phpcs --standard=phpcs.xml
....................................W.................W..... 60 / 62 (97%)
.. 62 / 62 (100%)
FILE: File1.php
--------------------------------------------------------------
FOUND 0 ERRORS AND 1 WARNING AFFECTING 1 LINE
--------------------------------------------------------------
33 | WARNING | Variable $allowedReferrer is undefined.
--------------------------------------------------------------
FILE: File2.php
----------------------------------------------------------------------
FOUND 0 ERRORS AND 1 WARNING AFFECTING 1 LINE
----------------------------------------------------------------------
99 | WARNING | Variable $permissionName is undefined.
----------------------------------------------------------------------
Time: 2.26 secs; Memory: 28.98MB
Script vendor/bin/phpcs --standard=phpcs.xml handling the style event returned with error code 1
$ cat -n File1.php | grep -C 5 33
28
29 $this->allowedReferrers = array_map(
30 static fn (string $allowedReferrer) => str_replace(
31 ['\*\*', '\*'],
32 ['[a-z\d.-]{0,63}', '[a-z\d-]{0,63}'],
33 preg_quote($allowedReferrer, '~'),
34 ),
35 $this->allowedReferrers,
36 );
$ cat -n File2.php | grep -C 2 99
97 ->filter(
98 static fn (string $permissionName) => Str::startsWith($permissionName, self::CONFIG_START)
99 && $permissionName !== CustomPermission::ALL_CONFIG
100 )
I guess not 😅
Ugh, sorry, yeah, that's the same as https://github.com/sirbrillig/phpcs-variable-analysis/issues/300. Arrow function scope is hard.
No problem at all :) Such quick fixes, thank you so much for your time and effort!
Tag v2.11.16
shows no more false positives :D
v2.11.13 works, but since v2.11.14 the following code gives 2 warnings:
only the first arrow function reaches the last return in
getArrowFunctionOpenClose