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

Breadcrumb

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

function DataProviderHelper::parseDataProviderExternalAttribute

*

Return value

array<string, array{(ClassReflection|null), string, int}>|null

1 call to DataProviderHelper::parseDataProviderExternalAttribute()
DataProviderHelper::getDataProviderMethods in vendor/phpstan/phpstan-phpunit/src/Rules/PHPUnit/DataProviderHelper.php
*

File

vendor/phpstan/phpstan-phpunit/src/Rules/PHPUnit/DataProviderHelper.php, line 235

Class

DataProviderHelper

Namespace

PHPStan\Rules\PHPUnit

Code

private function parseDataProviderExternalAttribute(Attribute $attribute) : ?array {
    if (count($attribute->args) !== 2) {
        return null;
    }
    $methodNameArg = $attribute->args[1]->value;
    if (!$methodNameArg instanceof String_) {
        return null;
    }
    $classNameArg = $attribute->args[0]->value;
    if ($classNameArg instanceof ClassConstFetch && $classNameArg->class instanceof Name) {
        $className = $classNameArg->class
            ->toString();
    }
    elseif ($classNameArg instanceof String_) {
        $className = $classNameArg->value;
    }
    else {
        return null;
    }
    $dataProviderClassReflection = null;
    if ($this->reflectionProvider
        ->hasClass($className)) {
        $dataProviderClassReflection = $this->reflectionProvider
            ->getClass($className);
        $className = $dataProviderClassReflection->getName();
    }
    return [
        sprintf('%s::%s', $className, $methodNameArg->value) => [
            $dataProviderClassReflection,
            $methodNameArg->value,
            $attribute->getLine(),
        ],
    ];
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal