Skip to content

Commit ce2712a

Browse files
committed
Merge branch 'php-8.0/psr1-sideeffects-support-nullsafe-operator' of https://github.com/jrfnl/PHP_CodeSniffer
2 parents fd8dcd6 + 7e6daaf commit ce2712a

File tree

7 files changed

+18
-1
lines changed

7 files changed

+18
-1
lines changed

package.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1007,6 +1007,10 @@ http://pear.php.net/dtd/package-2.0.xsd">
10071007
<file baseinstalldir="PHP/CodeSniffer" name="SideEffectsUnitTest.10.inc" role="test" />
10081008
<file baseinstalldir="PHP/CodeSniffer" name="SideEffectsUnitTest.11.inc" role="test" />
10091009
<file baseinstalldir="PHP/CodeSniffer" name="SideEffectsUnitTest.12.inc" role="test" />
1010+
<file baseinstalldir="PHP/CodeSniffer" name="SideEffectsUnitTest.13.inc" role="test" />
1011+
<file baseinstalldir="PHP/CodeSniffer" name="SideEffectsUnitTest.14.inc" role="test" />
1012+
<file baseinstalldir="PHP/CodeSniffer" name="SideEffectsUnitTest.15.inc" role="test" />
1013+
<file baseinstalldir="PHP/CodeSniffer" name="SideEffectsUnitTest.16.inc" role="test" />
10101014
<file baseinstalldir="PHP/CodeSniffer" name="SideEffectsUnitTest.php" role="test" />
10111015
</dir>
10121016
<dir name="Methods">

src/Standards/PSR1/Sniffs/Files/SideEffectsSniff.php

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,7 @@ private function searchForConflict($phpcsFile, $start, $end, $tokens)
193193
) {
194194
$prev = $phpcsFile->findPrevious(Tokens::$emptyTokens, ($i - 1), null, true);
195195
if ($tokens[$prev]['code'] !== T_OBJECT_OPERATOR
196+
&& $tokens[$prev]['code'] !== T_NULLSAFE_OBJECT_OPERATOR
196197
&& $tokens[$prev]['code'] !== T_DOUBLE_COLON
197198
&& $tokens[$prev]['code'] !== T_FUNCTION
198199
) {
@@ -216,11 +217,13 @@ private function searchForConflict($phpcsFile, $start, $end, $tokens)
216217
&& strtolower($tokens[$i]['content']) === 'defined'
217218
) {
218219
$openBracket = $phpcsFile->findNext(Tokens::$emptyTokens, ($i + 1), null, true);
219-
if ($tokens[$openBracket]['code'] === T_OPEN_PARENTHESIS
220+
if ($openBracket !== false
221+
&& $tokens[$openBracket]['code'] === T_OPEN_PARENTHESIS
220222
&& isset($tokens[$openBracket]['parenthesis_closer']) === true
221223
) {
222224
$prev = $phpcsFile->findPrevious(Tokens::$emptyTokens, ($i - 1), null, true);
223225
if ($tokens[$prev]['code'] !== T_OBJECT_OPERATOR
226+
&& $tokens[$prev]['code'] !== T_NULLSAFE_OBJECT_OPERATOR
224227
&& $tokens[$prev]['code'] !== T_DOUBLE_COLON
225228
&& $tokens[$prev]['code'] !== T_FUNCTION
226229
) {
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
<?php
2+
defined('MINSIZE') === false OR $my->define("MAXSIZE", 100);
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
<?php
2+
defined('MINSIZE') === false OR $my?->define("MAXSIZE", 100);
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
<?php
2+
$my->defined('MINSIZE') or define("MAXSIZE", 100);
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
<?php
2+
$my?->defined('MINSIZE') or define("MAXSIZE", 100);

src/Standards/PSR1/Tests/Files/SideEffectsUnitTest.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,8 @@ public function getWarningList($testFile='')
6767
case 'SideEffectsUnitTest.5.inc':
6868
case 'SideEffectsUnitTest.10.inc':
6969
case 'SideEffectsUnitTest.12.inc':
70+
case 'SideEffectsUnitTest.15.inc':
71+
case 'SideEffectsUnitTest.16.inc':
7072
return [1 => 1];
7173
default:
7274
return [];

0 commit comments

Comments
 (0)