function PropertyDeclarationSniff::process
* @phpcsSuppress SlevomatCodingStandard.TypeHints.ParameterTypeHint.MissingNativeTypeHint *
Parameters
int $modifierPointer:
Overrides Sniff::process
File
-
vendor/
slevomat/ coding-standard/ SlevomatCodingStandard/ Sniffs/ Classes/ PropertyDeclarationSniff.php, line 80
Class
Namespace
SlevomatCodingStandard\Sniffs\ClassesCode
public function process(File $phpcsFile, $modifierPointer) : void {
$tokens = $phpcsFile->getTokens();
$asPointer = TokenHelper::findPreviousEffective($phpcsFile, $modifierPointer - 1);
if ($tokens[$asPointer]['code'] === T_AS) {
return;
}
$nextPointer = TokenHelper::findNextEffective($phpcsFile, $modifierPointer + 1);
if (in_array($tokens[$nextPointer]['code'], TokenHelper::$propertyModifiersTokenCodes, true)) {
// We don't want to report the same property twice
return;
}
if ($tokens[$nextPointer]['code'] === T_DOUBLE_COLON) {
// Ignore static::
return;
}
$propertyPointer = TokenHelper::findNext($phpcsFile, [
T_FUNCTION,
T_CONST,
T_VARIABLE,
], $modifierPointer + 1);
if ($propertyPointer === null || $tokens[$propertyPointer]['code'] !== T_VARIABLE) {
return;
}
if (!PropertyHelper::isProperty($phpcsFile, $propertyPointer, $this->checkPromoted)) {
return;
}
$firstModifierPointer = $modifierPointer;
do {
$previousPointer = TokenHelper::findPreviousEffective($phpcsFile, $firstModifierPointer - 1);
if (!in_array($tokens[$previousPointer]['code'], TokenHelper::$propertyModifiersTokenCodes, true)) {
break;
}
$firstModifierPointer = $previousPointer;
} while (true);
$this->checkModifiersOrder($phpcsFile, $propertyPointer, $firstModifierPointer, $modifierPointer);
$this->checkSpacesBetweenModifiers($phpcsFile, $propertyPointer, $firstModifierPointer, $modifierPointer);
$this->checkTypeHintSpacing($phpcsFile, $propertyPointer, $modifierPointer);
}