diff --git a/rules-tests/Php83/Rector/Class_/ReadOnlyAnonymousClassRector/Fixture/skip_anonymous_class_with_attribute.php.inc b/rules-tests/Php83/Rector/Class_/ReadOnlyAnonymousClassRector/Fixture/skip_anonymous_class_with_attribute.php.inc new file mode 100644 index 00000000000..a64c6cc563d --- /dev/null +++ b/rules-tests/Php83/Rector/Class_/ReadOnlyAnonymousClassRector/Fixture/skip_anonymous_class_with_attribute.php.inc @@ -0,0 +1,15 @@ +attempts; + } +}; diff --git a/rules/Php83/Rector/Class_/ReadOnlyAnonymousClassRector.php b/rules/Php83/Rector/Class_/ReadOnlyAnonymousClassRector.php index e1206e3df49..c12646158be 100644 --- a/rules/Php83/Rector/Class_/ReadOnlyAnonymousClassRector.php +++ b/rules/Php83/Rector/Class_/ReadOnlyAnonymousClassRector.php @@ -68,6 +68,11 @@ public function refactor(Node $node): ?Node return null; } + // attribute between "new" and "class" cannot be format-preserving printed with an added readonly modifier + if ($node->attrGroups !== []) { + return null; + } + return $this->readonlyClassManipulator->process($node); }