From c316385ee43ee4840a8dcb64975d83bb56c8b349 Mon Sep 17 00:00:00 2001 From: "v.fateev" Date: Wed, 1 Jan 2025 10:52:06 +0300 Subject: [PATCH 1/2] ConstantSpacingSniff: Fixed internal error --- .../Sniffs/Classes/ConstantSpacingSniff.php | 2 +- .../Classes/data/constantSpacingNoErrors.php | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/SlevomatCodingStandard/Sniffs/Classes/ConstantSpacingSniff.php b/SlevomatCodingStandard/Sniffs/Classes/ConstantSpacingSniff.php index 70defe2b0..0df8094c8 100644 --- a/SlevomatCodingStandard/Sniffs/Classes/ConstantSpacingSniff.php +++ b/SlevomatCodingStandard/Sniffs/Classes/ConstantSpacingSniff.php @@ -59,7 +59,7 @@ protected function isNextMemberValid(File $phpcsFile, int $pointer): bool $nextPointer = TokenHelper::findNext($phpcsFile, [T_FUNCTION, T_ENUM_CASE, T_CONST, T_VARIABLE, T_USE], $pointer + 1); - return $tokens[$nextPointer]['code'] === T_CONST; + return $nextPointer !== null && $tokens[$nextPointer]['code'] === T_CONST; } protected function addError(File $phpcsFile, int $pointer, int $minExpectedLines, int $maxExpectedLines, int $found): bool diff --git a/tests/Sniffs/Classes/data/constantSpacingNoErrors.php b/tests/Sniffs/Classes/data/constantSpacingNoErrors.php index b7771b6d3..ebda36af3 100644 --- a/tests/Sniffs/Classes/data/constantSpacingNoErrors.php +++ b/tests/Sniffs/Classes/data/constantSpacingNoErrors.php @@ -54,6 +54,13 @@ class TestClass private const CONSTANT_2 = 'bar'; } +class TestClass1 +{ + public const CONSTANT_1 = 'foo'; + + use TestTrait; +} + enum A: string { public const X = []; @@ -62,3 +69,10 @@ enum A: string case B = 'b'; } + +enum B: string +{ + public const X = []; + + case A = 'a'; +} From 2570c3dfa07428e8dac24f8fdd68e2d3b92aa45f Mon Sep 17 00:00:00 2001 From: "v.fateev" Date: Wed, 1 Jan 2025 10:53:37 +0300 Subject: [PATCH 2/2] EnumCaseSpacingSniff: Fixed internal error --- .../Sniffs/Classes/EnumCaseSpacingSniff.php | 2 +- tests/Sniffs/Classes/data/enumCaseSpacingNoErrors.php | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/SlevomatCodingStandard/Sniffs/Classes/EnumCaseSpacingSniff.php b/SlevomatCodingStandard/Sniffs/Classes/EnumCaseSpacingSniff.php index 286d6ec27..0ad71c520 100644 --- a/SlevomatCodingStandard/Sniffs/Classes/EnumCaseSpacingSniff.php +++ b/SlevomatCodingStandard/Sniffs/Classes/EnumCaseSpacingSniff.php @@ -34,7 +34,7 @@ protected function isNextMemberValid(File $phpcsFile, int $pointer): bool $nextPointer = TokenHelper::findNext($phpcsFile, [T_FUNCTION, T_CONST, T_VARIABLE, T_USE, T_ENUM_CASE], $pointer + 1); - return $tokens[$nextPointer]['code'] === T_ENUM_CASE; + return $nextPointer !== null && $tokens[$nextPointer]['code'] === T_ENUM_CASE; } protected function addError(File $phpcsFile, int $pointer, int $minExpectedLines, int $maxExpectedLines, int $found): bool diff --git a/tests/Sniffs/Classes/data/enumCaseSpacingNoErrors.php b/tests/Sniffs/Classes/data/enumCaseSpacingNoErrors.php index 64c5692e6..93e8792c7 100644 --- a/tests/Sniffs/Classes/data/enumCaseSpacingNoErrors.php +++ b/tests/Sniffs/Classes/data/enumCaseSpacingNoErrors.php @@ -44,3 +44,10 @@ enum TestClass case BAR; } + +enum TestClass1 +{ + case FOO; + + use TestTrait; +}