PATH:
opt
/
cpanel
/
ea-wappspector
/
vendor
/
slevomat
/
coding-standard
/
SlevomatCodingStandard
/
Sniffs
/
Namespaces
<?php declare(strict_types = 1); namespace SlevomatCodingStandard\Sniffs\Namespaces; use PHP_CodeSniffer\Files\File; use PHP_CodeSniffer\Sniffs\Sniff; use SlevomatCodingStandard\Helpers\FixerHelper; use SlevomatCodingStandard\Helpers\NamespaceHelper; use SlevomatCodingStandard\Helpers\TokenHelper; use SlevomatCodingStandard\Helpers\UseStatementHelper; use function in_array; use function ltrim; use const T_USE; class UseDoesNotStartWithBackslashSniff implements Sniff { public const CODE_STARTS_WITH_BACKSLASH = 'UseStartsWithBackslash'; /** * @return array<int, (int|string)> */ public function register(): array { return [ T_USE, ]; } /** * @phpcsSuppress SlevomatCodingStandard.TypeHints.ParameterTypeHint.MissingNativeTypeHint * @param int $usePointer */ public function process(File $phpcsFile, $usePointer): void { if (!UseStatementHelper::isImportUse($phpcsFile, $usePointer)) { return; } $tokens = $phpcsFile->getTokens(); /** @var int $nextTokenPointer */ $nextTokenPointer = TokenHelper::findNextEffective($phpcsFile, $usePointer + 1); if ( in_array($tokens[$nextTokenPointer]['code'], TokenHelper::ONLY_NAME_TOKEN_CODES, true) && ( $tokens[$nextTokenPointer]['content'] === 'function' || $tokens[$nextTokenPointer]['content'] === 'const' ) ) { /** @var int $nextTokenPointer */ $nextTokenPointer = TokenHelper::findNextEffective($phpcsFile, $nextTokenPointer + 1); } if (!NamespaceHelper::isFullyQualifiedPointer($phpcsFile, $nextTokenPointer)) { return; } $fix = $phpcsFile->addFixableError( 'Use statement cannot start with a backslash.', $nextTokenPointer, self::CODE_STARTS_WITH_BACKSLASH, ); if (!$fix) { return; } $phpcsFile->fixer->beginChangeset(); FixerHelper::replace( $phpcsFile, $nextTokenPointer, ltrim($tokens[$nextTokenPointer]['content'], '\\'), ); $phpcsFile->fixer->endChangeset(); } }
[-] UselessAliasSniff.php
[edit]
[-] RequireOneNamespaceInFileSniff.php
[edit]
[-] NamespaceDeclarationSniff.php
[edit]
[-] FullyQualifiedClassNameInAnnotationSniff.php
[edit]
[-] AbstractFullyQualifiedGlobalReference.php
[edit]
[-] UseOnlyWhitelistedNamespacesSniff.php
[edit]
[+]
..
[-] UseDoesNotStartWithBackslashSniff.php
[edit]
[-] MultipleUsesPerLineSniff.php
[edit]
[-] UseSpacingSniff.php
[edit]
[-] ReferenceUsedNamesOnlySniff.php
[edit]
[-] FullyQualifiedGlobalConstantsSniff.php
[edit]
[-] UseFromSameNamespaceSniff.php
[edit]
[-] NamespaceSpacingSniff.php
[edit]
[-] AlphabeticallySortedUsesSniff.php
[edit]
[-] UnusedUsesSniff.php
[edit]
[-] FullyQualifiedExceptionsSniff.php
[edit]
[-] FullyQualifiedGlobalFunctionsSniff.php
[edit]
[-] DisallowGroupUseSniff.php
[edit]