Skip to content

Commit 0488aec

Browse files
committed
PHP 8.2 | PSR1/SideEffects: allow for readonly classes
Includes unit test. Ref: * https://wiki.php.net/rfc/readonly_classes
1 parent cd5acaa commit 0488aec

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

src/Standards/PSR1/Sniffs/Files/SideEffectsSniff.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,9 @@ private function searchForConflict($phpcsFile, $start, $end, $tokens)
169169
}
170170

171171
// Ignore function/class prefixes.
172-
if (isset(Tokens::$methodPrefixes[$tokens[$i]['code']]) === true) {
172+
if (isset(Tokens::$methodPrefixes[$tokens[$i]['code']]) === true
173+
|| $tokens[$i]['code'] === T_READONLY
174+
) {
173175
continue;
174176
}
175177

src/Standards/PSR1/Tests/Files/SideEffectsUnitTest.1.inc

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,4 +76,12 @@ namespace {
7676

7777
defined('APP_BASE_URL') or define('APP_BASE_URL', '/');
7878

79+
readonly class Foo {
80+
public function __construct(
81+
private string $foo,
82+
private string $bar,
83+
) {
84+
}
85+
}
86+
7987
?>

0 commit comments

Comments
 (0)