diff --git a/src/Standards/Generic/Tests/CodeAnalysis/UnnecessaryFinalModifierUnitTest.1.inc b/src/Standards/Generic/Tests/CodeAnalysis/UnnecessaryFinalModifierUnitTest.1.inc index d217d07367..fc665669ca 100644 --- a/src/Standards/Generic/Tests/CodeAnalysis/UnnecessaryFinalModifierUnitTest.1.inc +++ b/src/Standards/Generic/Tests/CodeAnalysis/UnnecessaryFinalModifierUnitTest.1.inc @@ -54,3 +54,25 @@ class Regular_Class_Regular_Constants { protected const PROTECTED_CONST = 'foo'; private const PRIVATE_CONST = true; } + +final class Final_Class_Final_Properties { + final readonly public ?MyType $final_public; + protected final $final_protected = 'foo'; +} + +final class Final_Class_Regular_Properties { + public $public = 23; + protected string $protected = 'foo'; + private $private = true; +} + +class Regular_Class_Final_Properties { + public static final $final_public = 23; + final readonly $final_protected = 'foo'; +} + +class Regular_Class_Regular_Properties { + public $public = 23; + protected $protected = 'foo'; + private static bool $private = true; +} diff --git a/src/Standards/Generic/Tests/CodeAnalysis/UnnecessaryFinalModifierUnitTest.php b/src/Standards/Generic/Tests/CodeAnalysis/UnnecessaryFinalModifierUnitTest.php index 6557db4348..2969a865e3 100644 --- a/src/Standards/Generic/Tests/CodeAnalysis/UnnecessaryFinalModifierUnitTest.php +++ b/src/Standards/Generic/Tests/CodeAnalysis/UnnecessaryFinalModifierUnitTest.php @@ -58,6 +58,8 @@ public function getWarningList($testFile='') 33 => 1, 37 => 1, 38 => 1, + 59 => 1, + 60 => 1, ]; default: return []; diff --git a/src/Standards/Squiz/Tests/Classes/LowercaseClassKeywordsUnitTest.inc b/src/Standards/Squiz/Tests/Classes/LowercaseClassKeywordsUnitTest.inc index da47fa179e..5f726623fc 100644 --- a/src/Standards/Squiz/Tests/Classes/LowercaseClassKeywordsUnitTest.inc +++ b/src/Standards/Squiz/Tests/Classes/LowercaseClassKeywordsUnitTest.inc @@ -14,3 +14,7 @@ ReadOnly class MyClass $a = new CLASS() {}; $anon = new ReadOnly class() {}; + +class FinalProperties { + FINAL int $prop = 1; +} diff --git a/src/Standards/Squiz/Tests/Classes/LowercaseClassKeywordsUnitTest.inc.fixed b/src/Standards/Squiz/Tests/Classes/LowercaseClassKeywordsUnitTest.inc.fixed index 0c18bc86b7..210748389d 100644 --- a/src/Standards/Squiz/Tests/Classes/LowercaseClassKeywordsUnitTest.inc.fixed +++ b/src/Standards/Squiz/Tests/Classes/LowercaseClassKeywordsUnitTest.inc.fixed @@ -14,3 +14,7 @@ readonly class MyClass $a = new class() {}; $anon = new readonly class() {}; + +class FinalProperties { + final int $prop = 1; +} diff --git a/src/Standards/Squiz/Tests/Classes/LowercaseClassKeywordsUnitTest.php b/src/Standards/Squiz/Tests/Classes/LowercaseClassKeywordsUnitTest.php index 7fc45e786b..0bf0010b84 100644 --- a/src/Standards/Squiz/Tests/Classes/LowercaseClassKeywordsUnitTest.php +++ b/src/Standards/Squiz/Tests/Classes/LowercaseClassKeywordsUnitTest.php @@ -41,6 +41,7 @@ public function getErrorList() 11 => 1, 14 => 1, 16 => 1, + 19 => 1, ]; return $errors; diff --git a/src/Standards/Squiz/Tests/Commenting/BlockCommentUnitTest.inc b/src/Standards/Squiz/Tests/Commenting/BlockCommentUnitTest.inc index 7cd04a2114..db8d43d7d1 100644 --- a/src/Standards/Squiz/Tests/Commenting/BlockCommentUnitTest.inc +++ b/src/Standards/Squiz/Tests/Commenting/BlockCommentUnitTest.inc @@ -307,3 +307,10 @@ abstract class MyClass enum MyEnum { } + +class FinalProperties { + /** + * Comment should be ignored. + */ + final int $prop = 1; +} diff --git a/src/Standards/Squiz/Tests/Commenting/BlockCommentUnitTest.inc.fixed b/src/Standards/Squiz/Tests/Commenting/BlockCommentUnitTest.inc.fixed index 2e97614e2c..69463f9c10 100644 --- a/src/Standards/Squiz/Tests/Commenting/BlockCommentUnitTest.inc.fixed +++ b/src/Standards/Squiz/Tests/Commenting/BlockCommentUnitTest.inc.fixed @@ -309,3 +309,10 @@ abstract class MyClass enum MyEnum { } + +class FinalProperties { + /** + * Comment should be ignored. + */ + final int $prop = 1; +} diff --git a/src/Standards/Squiz/Tests/Scope/MemberVarScopeUnitTest.inc b/src/Standards/Squiz/Tests/Scope/MemberVarScopeUnitTest.inc index 6df12cca44..0a1554ec89 100644 --- a/src/Standards/Squiz/Tests/Scope/MemberVarScopeUnitTest.inc +++ b/src/Standards/Squiz/Tests/Scope/MemberVarScopeUnitTest.inc @@ -70,3 +70,7 @@ class MyClass { interface Base { protected $anonymous; } + +class PHP84FinalProperties { + final int $final; +} diff --git a/src/Standards/Squiz/Tests/Scope/MemberVarScopeUnitTest.php b/src/Standards/Squiz/Tests/Scope/MemberVarScopeUnitTest.php index 0841239267..309d029830 100644 --- a/src/Standards/Squiz/Tests/Scope/MemberVarScopeUnitTest.php +++ b/src/Standards/Squiz/Tests/Scope/MemberVarScopeUnitTest.php @@ -39,6 +39,7 @@ public function getErrorList() 41 => 1, 66 => 2, 67 => 1, + 75 => 1, ]; }//end getErrorList() diff --git a/src/Standards/Squiz/Tests/WhiteSpace/MemberVarSpacingUnitTest.1.inc b/src/Standards/Squiz/Tests/WhiteSpace/MemberVarSpacingUnitTest.1.inc index 35819e49c1..97479d91e5 100644 --- a/src/Standards/Squiz/Tests/WhiteSpace/MemberVarSpacingUnitTest.1.inc +++ b/src/Standards/Squiz/Tests/WhiteSpace/MemberVarSpacingUnitTest.1.inc @@ -415,3 +415,16 @@ final class BlankLinesBetweenVsAttributesWithoutCommentIssueSquiz3594 public $property2; } + +class PHP84FinalProperties { + final int $finalA; + + /** + * Docblock + */ + public final string $publicfinal; + #[AnAttribute] + final bool $finalB; + + final private bool $finalPrivate; +} diff --git a/src/Standards/Squiz/Tests/WhiteSpace/MemberVarSpacingUnitTest.1.inc.fixed b/src/Standards/Squiz/Tests/WhiteSpace/MemberVarSpacingUnitTest.1.inc.fixed index c0b6351db0..c11ddbc398 100644 --- a/src/Standards/Squiz/Tests/WhiteSpace/MemberVarSpacingUnitTest.1.inc.fixed +++ b/src/Standards/Squiz/Tests/WhiteSpace/MemberVarSpacingUnitTest.1.inc.fixed @@ -400,3 +400,18 @@ final class BlankLinesBetweenVsAttributesWithoutCommentIssueSquiz3594 #[SingleAttribute] public $property2; } + +class PHP84FinalProperties { + + final int $finalA; + + /** + * Docblock + */ + public final string $publicfinal; + + #[AnAttribute] + final bool $finalB; + + final private bool $finalPrivate; +} diff --git a/src/Standards/Squiz/Tests/WhiteSpace/MemberVarSpacingUnitTest.php b/src/Standards/Squiz/Tests/WhiteSpace/MemberVarSpacingUnitTest.php index 2ecba697aa..dbc3de4c26 100644 --- a/src/Standards/Squiz/Tests/WhiteSpace/MemberVarSpacingUnitTest.php +++ b/src/Standards/Squiz/Tests/WhiteSpace/MemberVarSpacingUnitTest.php @@ -83,6 +83,8 @@ public function getErrorList($testFile='') 412 => 1, 415 => 1, 416 => 1, + 420 => 1, + 427 => 1, ]; default: diff --git a/src/Standards/Squiz/Tests/WhiteSpace/ScopeKeywordSpacingUnitTest.1.inc b/src/Standards/Squiz/Tests/WhiteSpace/ScopeKeywordSpacingUnitTest.1.inc index 9a74addc41..de53edcaf0 100644 --- a/src/Standards/Squiz/Tests/WhiteSpace/ScopeKeywordSpacingUnitTest.1.inc +++ b/src/Standards/Squiz/Tests/WhiteSpace/ScopeKeywordSpacingUnitTest.1.inc @@ -187,3 +187,8 @@ class ConstantVisibility { protected const PROTECTED_SPACING_INCORRECT = true; private const PRIVATE_SPACING_INCORRECT = true; } + +class FinalProperties { + final readonly public ?MyType $spacing_correct; + protected final $spacing_incorrect = 'foo'; +} diff --git a/src/Standards/Squiz/Tests/WhiteSpace/ScopeKeywordSpacingUnitTest.1.inc.fixed b/src/Standards/Squiz/Tests/WhiteSpace/ScopeKeywordSpacingUnitTest.1.inc.fixed index c18bda5c76..55d1a5492d 100644 --- a/src/Standards/Squiz/Tests/WhiteSpace/ScopeKeywordSpacingUnitTest.1.inc.fixed +++ b/src/Standards/Squiz/Tests/WhiteSpace/ScopeKeywordSpacingUnitTest.1.inc.fixed @@ -180,3 +180,8 @@ class ConstantVisibility { protected const PROTECTED_SPACING_INCORRECT = true; private const PRIVATE_SPACING_INCORRECT = true; } + +class FinalProperties { + final readonly public ?MyType $spacing_correct; + protected final $spacing_incorrect = 'foo'; +} diff --git a/src/Standards/Squiz/Tests/WhiteSpace/ScopeKeywordSpacingUnitTest.php b/src/Standards/Squiz/Tests/WhiteSpace/ScopeKeywordSpacingUnitTest.php index bd66e943aa..64b82e365e 100644 --- a/src/Standards/Squiz/Tests/WhiteSpace/ScopeKeywordSpacingUnitTest.php +++ b/src/Standards/Squiz/Tests/WhiteSpace/ScopeKeywordSpacingUnitTest.php @@ -69,6 +69,7 @@ public function getErrorList($testFile='') 186 => 1, 187 => 1, 188 => 1, + 193 => 2, ]; case 'ScopeKeywordSpacingUnitTest.3.inc':