*/ public function register(): array { return [ T_NAMESPACE, ]; } /** * @phpcsSuppress SlevomatCodingStandard.TypeHints.ParameterTypeHint.MissingNativeTypeHint * @param int $namespacePointer */ public function process(File $phpcsFile, $namespacePointer): void { $tokens = $phpcsFile->getTokens(); $pointerAfterNamespace = TokenHelper::findNextEffective($phpcsFile, $namespacePointer + 1); if ($tokens[$pointerAfterNamespace]['code'] === T_NS_SEPARATOR) { return; } $previousNamespacePointer = $namespacePointer; do { $previousNamespacePointer = TokenHelper::findPrevious($phpcsFile, T_NAMESPACE, $previousNamespacePointer - 1); if ($previousNamespacePointer === null) { return; } $pointerAfterPreviousNamespace = TokenHelper::findNextEffective($phpcsFile, $previousNamespacePointer + 1); if ($tokens[$pointerAfterPreviousNamespace]['code'] === T_NS_SEPARATOR) { continue; } break; } while (true); $phpcsFile->addError('Only one namespace in a file is allowed.', $namespacePointer, self::CODE_MORE_NAMESPACES_IN_FILE); } }