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/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/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'; +} 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; +}