class DataProviderDeclarationRule
@implements Rule<Node\Stmt\ClassMethod>
Hierarchy
- class \PHPStan\Rules\PHPUnit\DataProviderDeclarationRule implements \PHPStan\Rules\Rule
Expanded class hierarchy of DataProviderDeclarationRule
File
-
vendor/
phpstan/ phpstan-phpunit/ src/ Rules/ PHPUnit/ DataProviderDeclarationRule.php, line 14
Namespace
PHPStan\Rules\PHPUnitView source
class DataProviderDeclarationRule implements Rule {
/**
* Data provider helper.
*
* @var DataProviderHelper
*/
private $dataProviderHelper;
/**
* When set to true, it reports data provider method with incorrect name case.
*
* @var bool
*/
private $checkFunctionNameCase;
/**
* When phpstan-deprecation-rules is installed, it reports deprecated usages.
*
* @var bool
*/
private $deprecationRulesInstalled;
public function __construct(DataProviderHelper $dataProviderHelper, bool $checkFunctionNameCase, bool $deprecationRulesInstalled) {
$this->dataProviderHelper = $dataProviderHelper;
$this->checkFunctionNameCase = $checkFunctionNameCase;
$this->deprecationRulesInstalled = $deprecationRulesInstalled;
}
public function getNodeType() : string {
return Node\Stmt\ClassMethod::class;
}
public function processNode(Node $node, Scope $scope) : array {
$classReflection = $scope->getClassReflection();
if ($classReflection === null || !$classReflection->isSubclassOf(TestCase::class)) {
return [];
}
$errors = [];
foreach ($this->dataProviderHelper
->getDataProviderMethods($scope, $node, $classReflection) as $dataProviderValue => [
$dataProviderClassReflection,
$dataProviderMethodName,
$lineNumber,
]) {
$errors = array_merge($errors, $this->dataProviderHelper
->processDataProvider($dataProviderValue, $dataProviderClassReflection, $dataProviderMethodName, $lineNumber, $this->checkFunctionNameCase, $this->deprecationRulesInstalled));
}
return $errors;
}
}
Members
Title Sort descending | Modifiers | Object type | Summary |
---|---|---|---|
DataProviderDeclarationRule::$checkFunctionNameCase | private | property | * When set to true, it reports data provider method with incorrect name case. * * |
DataProviderDeclarationRule::$dataProviderHelper | private | property | * Data provider helper. * * |
DataProviderDeclarationRule::$deprecationRulesInstalled | private | property | * When phpstan-deprecation-rules is installed, it reports deprecated usages. * * |
DataProviderDeclarationRule::getNodeType | public | function | |
DataProviderDeclarationRule::processNode | public | function | |
DataProviderDeclarationRule::__construct | public | function |