Sniff to validate method arguments annotations
Definition at line 17 of file MethodArgumentsSniff.php.
◆ process()
process |
( |
File |
$phpcsFile, |
|
|
|
$stackPtr |
|
) |
| |
Definition at line 539 of file MethodArgumentsSniff.php.
541 $tokens = $phpcsFile->getTokens();
543 $previousCommentOpenPtr = $phpcsFile->findPrevious(T_DOC_COMMENT_OPEN_TAG, $stackPtr-1, 0);
544 $previousCommentClosePtr = $phpcsFile->findPrevious(T_DOC_COMMENT_CLOSE_TAG, $stackPtr-1, 0);
545 if (!$this->validateCommentBlockExists($phpcsFile, $previousCommentClosePtr, $stackPtr)) {
546 $phpcsFile->addError(
'Comment block is missing', $stackPtr,
'MethodArguments');
549 $openParenthesisPtr = $phpcsFile->findNext(T_OPEN_PARENTHESIS, $stackPtr+1, $numTokens);
550 $closedParenthesisPtr = $phpcsFile->findNext(T_CLOSE_PARENTHESIS, $stackPtr+1, $numTokens);
551 $methodArguments = $this->getMethodArguments($phpcsFile, $openParenthesisPtr, $closedParenthesisPtr);
552 $paramPointers = $paramDefinitions = [];
553 for ($tempPtr = $previousCommentOpenPtr; $tempPtr < $previousCommentClosePtr; $tempPtr++) {
554 if (strtolower(
$tokens[$tempPtr][
'content']) ===
'@param') {
555 $paramPointers[] = $tempPtr;
556 $paramAnnotationParts = explode(
' ',
$tokens[$tempPtr+2][
'content']);
557 if (count($paramAnnotationParts) === 1) {
558 if ((preg_match(
'/^\$.*/', $paramAnnotationParts[0]))) {
559 $paramDefinitions[] = [
561 'paramName' => rtrim(ltrim(
$tokens[$tempPtr+2][
'content'],
'&'),
',')
564 $paramDefinitions[] = [
565 'type' =>
$tokens[$tempPtr+2][
'content'],
570 $paramDefinitions[] = [
571 'type' => $paramAnnotationParts[0],
572 'paramName' => rtrim(ltrim($paramAnnotationParts[1],
'&'),
',')
577 $this->validateMethodParameterAnnotations(
583 $previousCommentOpenPtr,
584 $previousCommentClosePtr
◆ register()
The documentation for this class was generated from the following file: