From 40cd751756ade75c4c71f5c94eec2f15df13f263 Mon Sep 17 00:00:00 2001 From: TomasVotruba Date: Fri, 21 Feb 2020 00:40:35 +0100 Subject: [PATCH] keep array function static --- .../Closure/ClosureToArrowFunctionRector.php | 5 ++++ .../Fixture/retain_static.php.inc | 29 +++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 rules/php-74/tests/Rector/Closure/ClosureToArrowFunctionRector/Fixture/retain_static.php.inc diff --git a/rules/php-74/src/Rector/Closure/ClosureToArrowFunctionRector.php b/rules/php-74/src/Rector/Closure/ClosureToArrowFunctionRector.php index 9e3180ba08f..756a489b16e 100644 --- a/rules/php-74/src/Rector/Closure/ClosureToArrowFunctionRector.php +++ b/rules/php-74/src/Rector/Closure/ClosureToArrowFunctionRector.php @@ -17,6 +17,7 @@ use Rector\Core\ValueObject\PhpVersionFeature; /** * @see https://wiki.php.net/rfc/arrow_functions_v2 + * * @see \Rector\Php74\Tests\Rector\Closure\ClosureToArrowFunctionRector\ClosureToArrowFunctionRectorTest */ final class ClosureToArrowFunctionRector extends AbstractRector @@ -92,6 +93,10 @@ PHP $arrowFunction->expr = $return->expr; + if ($node->static === true) { + $arrowFunction->static = true; + } + return $arrowFunction; } diff --git a/rules/php-74/tests/Rector/Closure/ClosureToArrowFunctionRector/Fixture/retain_static.php.inc b/rules/php-74/tests/Rector/Closure/ClosureToArrowFunctionRector/Fixture/retain_static.php.inc new file mode 100644 index 00000000000..7d2f9372b0a --- /dev/null +++ b/rules/php-74/tests/Rector/Closure/ClosureToArrowFunctionRector/Fixture/retain_static.php.inc @@ -0,0 +1,29 @@ + +----- + $value * 2, [1, 2, 3]); + } +} + +?>