diff --git a/src/Tokenizer/Analyzer/ArgumentsAnalyzer.php b/src/Tokenizer/Analyzer/ArgumentsAnalyzer.php index 67a68d35df8..0eb87c18da3 100644 --- a/src/Tokenizer/Analyzer/ArgumentsAnalyzer.php +++ b/src/Tokenizer/Analyzer/ArgumentsAnalyzer.php @@ -134,6 +134,12 @@ public function getArgumentInfo(Tokens $tokens, $argumentStart, $argumentEnd) continue; } + if (\defined('T_ATTRIBUTE') && $token->isGivenKind(T_ATTRIBUTE)) { + $index = $tokens->findBlockEnd(Tokens::BLOCK_TYPE_ATTRIBUTE, $index); + + continue; + } + if ($sawName) { $info['default'] .= $token->getContent(); } else { diff --git a/tests/Fixer/FunctionNotation/NullableTypeDeclarationForDefaultNullValueFixerTest.php b/tests/Fixer/FunctionNotation/NullableTypeDeclarationForDefaultNullValueFixerTest.php index b6d9c879f6c..d02d097941e 100644 --- a/tests/Fixer/FunctionNotation/NullableTypeDeclarationForDefaultNullValueFixerTest.php +++ b/tests/Fixer/FunctionNotation/NullableTypeDeclarationForDefaultNullValueFixerTest.php @@ -470,5 +470,23 @@ public function aaa(int | string $bar = null, $baz = 1) {} public function bbb(int | null $bar = null, $baz = 1) {} }', ]; + + yield 'attribute' => [ + ' [ + '