From 0b7320732fad7a4e9df6704b6434bef40fd169b1 Mon Sep 17 00:00:00 2001 From: dominikkaluza Date: Tue, 16 Dec 2025 10:34:55 +0100 Subject: [PATCH 1/2] Make the PostConditionsTraitUsedRule non-ignorable --- .../PhpStan/Rules/Mockery/PostConditionsTraitUsedRule.php | 1 + 1 file changed, 1 insertion(+) diff --git a/src/BrandEmbassyCodingStandard/PhpStan/Rules/Mockery/PostConditionsTraitUsedRule.php b/src/BrandEmbassyCodingStandard/PhpStan/Rules/Mockery/PostConditionsTraitUsedRule.php index ba05dd8..1767204 100644 --- a/src/BrandEmbassyCodingStandard/PhpStan/Rules/Mockery/PostConditionsTraitUsedRule.php +++ b/src/BrandEmbassyCodingStandard/PhpStan/Rules/Mockery/PostConditionsTraitUsedRule.php @@ -95,6 +95,7 @@ public function processNode(Node $node, Scope $scope): array if (!$classReflection->hasTraitUse($traitName)) { $errors[] = RuleErrorBuilder::message(sprintf('Calling %s without %s trait.', $name, $traitName)) ->identifier('postConditions.noMockeryTrait') + ->nonIgnorable() ->build(); } From e20b540460bf55f622e4c0df345859d876d8b3a7 Mon Sep 17 00:00:00 2001 From: dominikkaluza Date: Tue, 16 Dec 2025 11:59:27 +0100 Subject: [PATCH 2/2] Fix phpstan errors which are caused by newer phpstan version --- phpstan.neon | 5 ----- .../Sniffs/Classes/TraitUseSpacingSniff.php | 3 +++ 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/phpstan.neon b/phpstan.neon index 193bea7..cb841bf 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -30,12 +30,7 @@ parameters: - identifier: return.unusedType paths: - src/BrandEmbassyCodingStandard/Rector/MabeEnumClassToEnumRector/MabeEnumClassToEnumRector.php - - src/BrandEmbassyCodingStandard/Rector/NetteStringsStartsWithToNativeCallRector/NetteStringsStartsWithToNativeCallRector.php - - src/BrandEmbassyCodingStandard/Rector/NetteStringsEndsWithToNativeCallRector/NetteStringsEndsWithToNativeCallRector.php - src/BrandEmbassyCodingStandard/Rector/MabeEnumMethodCallToEnumConstRector/MabeEnumMethodCallToEnumConstRector.php - - src/BrandEmbassyCodingStandard/Rector/MabeEnumClassToEnumRector/MabeEnumClassToEnumRectorTest.php - - src/BrandEmbassyCodingStandard/Rector/NetteStringsContainsToNativeCallRector/NetteStringsContainsToNativeCallRectorTest.php - - src/BrandEmbassyCodingStandard/Rector/MabeEnumMethodCallToEnumConstRector/MabeEnumMethodCallToEnumConstRectorTest.php - # Because fixtures are in excludePaths, the constant won't be discovered by PHPStan message: '#^Class BrandEmbassyCodingStandard\\PhpStan\\Rules\\DisallowConstantsInTestsRule\\__fixtures__\\AllowedConstant not found\.$#' identifier: class.notFound diff --git a/src/BrandEmbassyCodingStandard/Sniffs/Classes/TraitUseSpacingSniff.php b/src/BrandEmbassyCodingStandard/Sniffs/Classes/TraitUseSpacingSniff.php index 900dc95..74cdd6c 100644 --- a/src/BrandEmbassyCodingStandard/Sniffs/Classes/TraitUseSpacingSniff.php +++ b/src/BrandEmbassyCodingStandard/Sniffs/Classes/TraitUseSpacingSniff.php @@ -8,7 +8,9 @@ use SlevomatCodingStandard\Helpers\PropertyHelper; use SlevomatCodingStandard\Helpers\SniffSettingsHelper; use SlevomatCodingStandard\Helpers\TokenHelper; +use function assert; use function count; +use function is_int; use function reset; use function sprintf; use function substr_count; @@ -221,6 +223,7 @@ private function checkLinesAfterLastUse(File $phpcsFile, int $lastUsePointer): v private function getRequiredLinesCountAfterLastUse(File $phpcsFile, array $tokens, int $lastUseEndPointer): int { $pointerAfterLastUse = TokenHelper::findNextEffective($phpcsFile, $lastUseEndPointer + 1); + assert(is_int($pointerAfterLastUse)); $isAtTheEndOfClass = $tokens[$pointerAfterLastUse]['code'] === T_CLOSE_CURLY_BRACKET; if ($isAtTheEndOfClass) {