diff --git a/src/Unleashed/Helpers/NamespaceHelper.php b/src/Unleashed/Helpers/NamespaceHelper.php new file mode 100644 index 0000000..26a5513 --- /dev/null +++ b/src/Unleashed/Helpers/NamespaceHelper.php @@ -0,0 +1,26 @@ +findNext(T_NAMESPACE, 0); + + return $token === false ? null : $token; + }; + + return SniffLocalCache::getAndSetIfNotCached($phpcsFile, 'firstNamespacePointer', $lazyValue); + } +} diff --git a/src/Unleashed/Sniffs/Namespaces/FullyQualifiedGlobalFunctionsSniff.php b/src/Unleashed/Sniffs/Namespaces/FullyQualifiedGlobalFunctionsSniff.php index ef06dc6..0f545d9 100644 --- a/src/Unleashed/Sniffs/Namespaces/FullyQualifiedGlobalFunctionsSniff.php +++ b/src/Unleashed/Sniffs/Namespaces/FullyQualifiedGlobalFunctionsSniff.php @@ -7,6 +7,7 @@ use PHP_CodeSniffer\Files\File; use PHP_CodeSniffer\Sniffs\Sniff; use SlevomatCodingStandard\Sniffs\Classes\ModernClassNameReferenceSniff; +use Unleashed\Helpers\NamespaceHelper; use Unleashed\Helpers\UseStatements; final class FullyQualifiedGlobalFunctionsSniff implements Sniff @@ -83,7 +84,8 @@ public function register() public function process(File $phpcsFile, $stackPtr) { // Abort if we're not in namespaced code - if ($phpcsFile->findPrevious([T_NAMESPACE], $stackPtr - 1) === false) { + $firstNamespacePointer = NamespaceHelper::getFirstNamespacePointer($phpcsFile); + if ($firstNamespacePointer === null || $stackPtr < $firstNamespacePointer) { return; }