Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. FunctionHelper.php

function FunctionHelper::getValidParametersAnnotations

*

Return value

array<string, Annotation<VarTagValueNode>|Annotation<ParamTagValueNode>|Annotation<TypelessParamTagValueNode>>

2 calls to FunctionHelper::getValidParametersAnnotations()
ParameterTypeHintSniff::process in vendor/slevomat/coding-standard/SlevomatCodingStandard/Sniffs/TypeHints/ParameterTypeHintSniff.php
* @phpcsSuppress SlevomatCodingStandard.TypeHints.ParameterTypeHint.MissingNativeTypeHint *
UselessFunctionDocCommentSniff::process in vendor/slevomat/coding-standard/SlevomatCodingStandard/Sniffs/Commenting/UselessFunctionDocCommentSniff.php
* @phpcsSuppress SlevomatCodingStandard.TypeHints.ParameterTypeHint.MissingNativeTypeHint *

File

vendor/slevomat/coding-standard/SlevomatCodingStandard/Helpers/FunctionHelper.php, line 337

Class

FunctionHelper
@internal

Namespace

SlevomatCodingStandard\Helpers

Code

public static function getValidParametersAnnotations(File $phpcsFile, int $functionPointer) : array {
    $tokens = $phpcsFile->getTokens();
    $parametersAnnotations = [];
    if (self::getName($phpcsFile, $functionPointer) === '__construct') {
        for ($i = $tokens[$functionPointer]['parenthesis_opener'] + 1; $i < $tokens[$functionPointer]['parenthesis_closer']; $i++) {
            if ($tokens[$i]['code'] !== T_VARIABLE) {
                continue;
            }
            $varAnnotations = AnnotationHelper::getAnnotations($phpcsFile, $i, '@var');
            if ($varAnnotations === []) {
                continue;
            }
            $parametersAnnotations[$tokens[$i]['content']] = $varAnnotations[0];
        }
    }
    foreach (self::getParametersAnnotations($phpcsFile, $functionPointer) as $parameterAnnotation) {
        if ($parameterAnnotation->isInvalid()) {
            continue;
        }
        $parametersAnnotations[$parameterAnnotation->getValue()->parameterName] = $parameterAnnotation;
    }
    return $parametersAnnotations;
}
RSS feed
Powered by Drupal