Skip to content

Commit 66dd8ef

Browse files
committed
Fix wrong claiming of UseShortSyntax.
1 parent 449b1e2 commit 66dd8ef

1 file changed

Lines changed: 17 additions & 2 deletions

File tree

WPForms/Sniffs/PHP/BackSlashSniff.php

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,22 @@ private function processCode( $phpcsFile, $stackPtr ) {
7171
return;
7272
}
7373

74-
if ( $tokens[ $stackPtr - 2 ]['code'] !== T_STRING ) {
74+
$startPtr = $phpcsFile->findPrevious( [ T_STRING, T_NS_SEPARATOR ], $stackPtr - 1, null, true );
75+
76+
if ( $startPtr === false ) {
77+
return;
78+
}
79+
80+
$startPtr ++;
81+
82+
if ( $tokens[ $startPtr ]['code'] !== T_NS_SEPARATOR ) {
83+
return;
84+
}
85+
86+
$name = $phpcsFile->getTokensAsString( $startPtr, $stackPtr - $startPtr + 1 );
87+
$count = substr_count( $name, '\\' );
88+
89+
if ( $count === 1 ) {
7590
$this->removeBackslashMessage( $phpcsFile, $stackPtr );
7691

7792
return;
@@ -135,7 +150,7 @@ private function removeBackslashMessage( $phpcsFile, $stackPtr ) {
135150
private function useShortSyntaxMessage( $phpcsFile, $stackPtr ) {
136151

137152
$phpcsFile->addError(
138-
'We prefer imports with `use` statement instead of FQDN',
153+
'We prefer imports with `use` statement instead of fully qualified names.',
139154
$stackPtr,
140155
'UseShortSyntax'
141156
);

0 commit comments

Comments
 (0)