Skip to content

Commit ed0888c

Browse files
authored
Fix rare undefined offset errors in ConcatenationSpacingSniff
This can happen when PHPCS runs on a file that is currently being worked on, but not yet completed. The file might end with a dot. We can not assume there are always 2 more tokens after a dot.
1 parent 75ff420 commit ed0888c

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

src/Standards/Squiz/Sniffs/Strings/ConcatenationSpacingSniff.php

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,10 +79,14 @@ public function process(File $phpcsFile, $stackPtr)
7979
$phpcsFile->recordMetric($stackPtr, 'Spacing before string concat', $before);
8080
}
8181

82-
if ($tokens[($stackPtr + 1)]['code'] !== T_WHITESPACE) {
82+
if (isset($tokens[($stackPtr + 1)]) === false
83+
|| $tokens[($stackPtr + 1)]['code'] !== T_WHITESPACE
84+
) {
8385
$after = 0;
8486
} else {
85-
if ($tokens[($stackPtr + 2)]['line'] !== $tokens[$stackPtr]['line']) {
87+
if (isset($tokens[($stackPtr + 2)]) === true
88+
&& $tokens[($stackPtr + 2)]['line'] !== $tokens[$stackPtr]['line']
89+
) {
8690
$after = 'newline';
8791
} else {
8892
$after = $tokens[($stackPtr + 1)]['length'];

0 commit comments

Comments
 (0)