diff --git a/src/Fixer/FunctionNotation/FunctionDeclarationFixer.php b/src/Fixer/FunctionNotation/FunctionDeclarationFixer.php index 5cf69579676..2b80d047516 100644 --- a/src/Fixer/FunctionNotation/FunctionDeclarationFixer.php +++ b/src/Fixer/FunctionNotation/FunctionDeclarationFixer.php @@ -97,7 +97,7 @@ function foo ($bar, $baz) * {@inheritdoc} * * Must run before MethodArgumentSpaceFixer. - * Must run after SingleSpaceAfterConstructFixer, SingleSpaceAroundConstructFixer. + * Must run after SingleSpaceAfterConstructFixer, SingleSpaceAroundConstructFixer, UseArrowFunctionsFixer. */ public function getPriority(): int { diff --git a/src/Fixer/FunctionNotation/UseArrowFunctionsFixer.php b/src/Fixer/FunctionNotation/UseArrowFunctionsFixer.php index d3a46920d74..084cfaa00d4 100644 --- a/src/Fixer/FunctionNotation/UseArrowFunctionsFixer.php +++ b/src/Fixer/FunctionNotation/UseArrowFunctionsFixer.php @@ -61,6 +61,16 @@ public function isRisky(): bool return true; } + /** + * {@inheritdoc} + * + * Must run before FunctionDeclarationFixer. + */ + public function getPriority(): int + { + return 32; + } + protected function applyFix(\SplFileInfo $file, Tokens $tokens): void { $analyzer = new TokensAnalyzer($tokens); diff --git a/tests/AutoReview/FixerFactoryTest.php b/tests/AutoReview/FixerFactoryTest.php index 9a66b5a9c45..87daf56b732 100644 --- a/tests/AutoReview/FixerFactoryTest.php +++ b/tests/AutoReview/FixerFactoryTest.php @@ -844,6 +844,9 @@ private static function getFixersPriorityGraph(): array 'not_operator_with_space', 'not_operator_with_successor_space', ], + 'use_arrow_functions' => [ + 'function_declaration', + ], 'visibility_required' => [ 'class_attributes_separation', ], diff --git a/tests/Fixtures/Integration/priority/use_arrow_functions,function_declaration.test b/tests/Fixtures/Integration/priority/use_arrow_functions,function_declaration.test new file mode 100644 index 00000000000..511f92a5aca --- /dev/null +++ b/tests/Fixtures/Integration/priority/use_arrow_functions,function_declaration.test @@ -0,0 +1,15 @@ +--TEST-- +Integration of fixers: use_arrow_functions,function_declaration. +--RULESET-- +{"use_arrow_functions": true, "function_declaration": {"closure_fn_spacing": "none"}} +--EXPECT-- + is_subclass_of($class, Exception::class); + +--INPUT-- +