Core composer packages update
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
<?php declare(strict_types = 1);
|
||||
|
||||
namespace PHPStan\DependencyInjection;
|
||||
|
||||
use PHPStan\Rules\Deprecations\DeprecatedScopeHelper;
|
||||
|
||||
final class LazyDeprecatedScopeResolverProvider
|
||||
{
|
||||
|
||||
public const EXTENSION_TAG = 'phpstan.deprecations.deprecatedScopeResolver';
|
||||
|
||||
/** @var Container */
|
||||
private $container;
|
||||
|
||||
/** @var DeprecatedScopeHelper */
|
||||
private $scopeHelper;
|
||||
|
||||
public function __construct(Container $container)
|
||||
{
|
||||
$this->container = $container;
|
||||
}
|
||||
|
||||
public function get(): DeprecatedScopeHelper
|
||||
{
|
||||
if ($this->scopeHelper === null) {
|
||||
$this->scopeHelper = new DeprecatedScopeHelper(
|
||||
$this->container->getServicesByTag(self::EXTENSION_TAG)
|
||||
);
|
||||
}
|
||||
return $this->scopeHelper;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -21,9 +21,13 @@ class AccessDeprecatedPropertyRule implements Rule
|
||||
/** @var ReflectionProvider */
|
||||
private $reflectionProvider;
|
||||
|
||||
public function __construct(ReflectionProvider $reflectionProvider)
|
||||
/** @var DeprecatedScopeHelper */
|
||||
private $deprecatedScopeHelper;
|
||||
|
||||
public function __construct(ReflectionProvider $reflectionProvider, DeprecatedScopeHelper $deprecatedScopeHelper)
|
||||
{
|
||||
$this->reflectionProvider = $reflectionProvider;
|
||||
$this->deprecatedScopeHelper = $deprecatedScopeHelper;
|
||||
}
|
||||
|
||||
public function getNodeType(): string
|
||||
@@ -33,7 +37,7 @@ class AccessDeprecatedPropertyRule implements Rule
|
||||
|
||||
public function processNode(Node $node, Scope $scope): array
|
||||
{
|
||||
if (DeprecatedScopeHelper::isScopeDeprecated($scope)) {
|
||||
if ($this->deprecatedScopeHelper->isScopeDeprecated($scope)) {
|
||||
return [];
|
||||
}
|
||||
|
||||
|
||||
@@ -28,10 +28,14 @@ class AccessDeprecatedStaticPropertyRule implements Rule
|
||||
/** @var RuleLevelHelper */
|
||||
private $ruleLevelHelper;
|
||||
|
||||
public function __construct(ReflectionProvider $reflectionProvider, RuleLevelHelper $ruleLevelHelper)
|
||||
/** @var DeprecatedScopeHelper */
|
||||
private $deprecatedScopeHelper;
|
||||
|
||||
public function __construct(ReflectionProvider $reflectionProvider, RuleLevelHelper $ruleLevelHelper, DeprecatedScopeHelper $deprecatedScopeHelper)
|
||||
{
|
||||
$this->reflectionProvider = $reflectionProvider;
|
||||
$this->ruleLevelHelper = $ruleLevelHelper;
|
||||
$this->deprecatedScopeHelper = $deprecatedScopeHelper;
|
||||
}
|
||||
|
||||
public function getNodeType(): string
|
||||
@@ -41,7 +45,7 @@ class AccessDeprecatedStaticPropertyRule implements Rule
|
||||
|
||||
public function processNode(Node $node, Scope $scope): array
|
||||
{
|
||||
if (DeprecatedScopeHelper::isScopeDeprecated($scope)) {
|
||||
if ($this->deprecatedScopeHelper->isScopeDeprecated($scope)) {
|
||||
return [];
|
||||
}
|
||||
|
||||
|
||||
@@ -20,9 +20,13 @@ class CallToDeprecatedFunctionRule implements Rule
|
||||
/** @var ReflectionProvider */
|
||||
private $reflectionProvider;
|
||||
|
||||
public function __construct(ReflectionProvider $reflectionProvider)
|
||||
/** @var DeprecatedScopeHelper */
|
||||
private $deprecatedScopeHelper;
|
||||
|
||||
public function __construct(ReflectionProvider $reflectionProvider, DeprecatedScopeHelper $deprecatedScopeHelper)
|
||||
{
|
||||
$this->reflectionProvider = $reflectionProvider;
|
||||
$this->deprecatedScopeHelper = $deprecatedScopeHelper;
|
||||
}
|
||||
|
||||
public function getNodeType(): string
|
||||
@@ -32,7 +36,7 @@ class CallToDeprecatedFunctionRule implements Rule
|
||||
|
||||
public function processNode(Node $node, Scope $scope): array
|
||||
{
|
||||
if (DeprecatedScopeHelper::isScopeDeprecated($scope)) {
|
||||
if ($this->deprecatedScopeHelper->isScopeDeprecated($scope)) {
|
||||
return [];
|
||||
}
|
||||
|
||||
|
||||
@@ -21,9 +21,13 @@ class CallToDeprecatedMethodRule implements Rule
|
||||
/** @var ReflectionProvider */
|
||||
private $reflectionProvider;
|
||||
|
||||
public function __construct(ReflectionProvider $reflectionProvider)
|
||||
/** @var DeprecatedScopeHelper */
|
||||
private $deprecatedScopeHelper;
|
||||
|
||||
public function __construct(ReflectionProvider $reflectionProvider, DeprecatedScopeHelper $deprecatedScopeHelper)
|
||||
{
|
||||
$this->reflectionProvider = $reflectionProvider;
|
||||
$this->deprecatedScopeHelper = $deprecatedScopeHelper;
|
||||
}
|
||||
|
||||
public function getNodeType(): string
|
||||
@@ -33,7 +37,7 @@ class CallToDeprecatedMethodRule implements Rule
|
||||
|
||||
public function processNode(Node $node, Scope $scope): array
|
||||
{
|
||||
if (DeprecatedScopeHelper::isScopeDeprecated($scope)) {
|
||||
if ($this->deprecatedScopeHelper->isScopeDeprecated($scope)) {
|
||||
return [];
|
||||
}
|
||||
|
||||
|
||||
@@ -28,10 +28,14 @@ class CallToDeprecatedStaticMethodRule implements Rule
|
||||
/** @var RuleLevelHelper */
|
||||
private $ruleLevelHelper;
|
||||
|
||||
public function __construct(ReflectionProvider $reflectionProvider, RuleLevelHelper $ruleLevelHelper)
|
||||
/** @var DeprecatedScopeHelper */
|
||||
private $deprecatedScopeHelper;
|
||||
|
||||
public function __construct(ReflectionProvider $reflectionProvider, RuleLevelHelper $ruleLevelHelper, DeprecatedScopeHelper $deprecatedScopeHelper)
|
||||
{
|
||||
$this->reflectionProvider = $reflectionProvider;
|
||||
$this->ruleLevelHelper = $ruleLevelHelper;
|
||||
$this->deprecatedScopeHelper = $deprecatedScopeHelper;
|
||||
}
|
||||
|
||||
public function getNodeType(): string
|
||||
@@ -41,7 +45,7 @@ class CallToDeprecatedStaticMethodRule implements Rule
|
||||
|
||||
public function processNode(Node $node, Scope $scope): array
|
||||
{
|
||||
if (DeprecatedScopeHelper::isScopeDeprecated($scope)) {
|
||||
if ($this->deprecatedScopeHelper->isScopeDeprecated($scope)) {
|
||||
return [];
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
<?php declare(strict_types = 1);
|
||||
|
||||
namespace PHPStan\Rules\Deprecations;
|
||||
|
||||
use PHPStan\Analyser\Scope;
|
||||
|
||||
final class DefaultDeprecatedScopeResolver implements DeprecatedScopeResolver
|
||||
{
|
||||
|
||||
public function isScopeDeprecated(Scope $scope): bool
|
||||
{
|
||||
$class = $scope->getClassReflection();
|
||||
if ($class !== null && $class->isDeprecated()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
$trait = $scope->getTraitReflection();
|
||||
if ($trait !== null && $trait->isDeprecated()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
$function = $scope->getFunction();
|
||||
if ($function !== null && $function->isDeprecated()->yes()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -7,21 +7,23 @@ use PHPStan\Analyser\Scope;
|
||||
class DeprecatedScopeHelper
|
||||
{
|
||||
|
||||
public static function isScopeDeprecated(Scope $scope): bool
|
||||
/** @var DeprecatedScopeResolver[] */
|
||||
private $resolvers;
|
||||
|
||||
/**
|
||||
* @param DeprecatedScopeResolver[] $checkers
|
||||
*/
|
||||
public function __construct(array $checkers)
|
||||
{
|
||||
$class = $scope->getClassReflection();
|
||||
if ($class !== null && $class->isDeprecated()) {
|
||||
return true;
|
||||
}
|
||||
$this->resolvers = $checkers;
|
||||
}
|
||||
|
||||
$trait = $scope->getTraitReflection();
|
||||
if ($trait !== null && $trait->isDeprecated()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
$function = $scope->getFunction();
|
||||
if ($function !== null && $function->isDeprecated()->yes()) {
|
||||
return true;
|
||||
public function isScopeDeprecated(Scope $scope): bool
|
||||
{
|
||||
foreach ($this->resolvers as $checker) {
|
||||
if ($checker->isScopeDeprecated($scope)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
|
||||
27
vendor/phpstan/phpstan-deprecation-rules/src/Rules/Deprecations/DeprecatedScopeResolver.php
vendored
Normal file
27
vendor/phpstan/phpstan-deprecation-rules/src/Rules/Deprecations/DeprecatedScopeResolver.php
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
<?php declare(strict_types = 1);
|
||||
|
||||
namespace PHPStan\Rules\Deprecations;
|
||||
|
||||
use PHPStan\Analyser\Scope;
|
||||
|
||||
/**
|
||||
* This is the interface for custom deprecated scope resolvers.
|
||||
*
|
||||
* To register it in the configuration file use the `phpstan.deprecations.deprecatedScopeResolver` service tag:
|
||||
*
|
||||
* ```
|
||||
* services:
|
||||
* -
|
||||
* class: App\PHPStan\MyExtension
|
||||
* tags:
|
||||
* - phpstan.deprecations.deprecatedScopeResolver
|
||||
* ```
|
||||
*
|
||||
* @api
|
||||
*/
|
||||
interface DeprecatedScopeResolver
|
||||
{
|
||||
|
||||
public function isScopeDeprecated(Scope $scope): bool;
|
||||
|
||||
}
|
||||
@@ -28,10 +28,14 @@ class FetchingClassConstOfDeprecatedClassRule implements Rule
|
||||
/** @var RuleLevelHelper */
|
||||
private $ruleLevelHelper;
|
||||
|
||||
public function __construct(ReflectionProvider $reflectionProvider, RuleLevelHelper $ruleLevelHelper)
|
||||
/** @var DeprecatedScopeHelper */
|
||||
private $deprecatedScopeHelper;
|
||||
|
||||
public function __construct(ReflectionProvider $reflectionProvider, RuleLevelHelper $ruleLevelHelper, DeprecatedScopeHelper $deprecatedScopeHelper)
|
||||
{
|
||||
$this->reflectionProvider = $reflectionProvider;
|
||||
$this->ruleLevelHelper = $ruleLevelHelper;
|
||||
$this->deprecatedScopeHelper = $deprecatedScopeHelper;
|
||||
}
|
||||
|
||||
public function getNodeType(): string
|
||||
@@ -41,7 +45,7 @@ class FetchingClassConstOfDeprecatedClassRule implements Rule
|
||||
|
||||
public function processNode(Node $node, Scope $scope): array
|
||||
{
|
||||
if (DeprecatedScopeHelper::isScopeDeprecated($scope)) {
|
||||
if ($this->deprecatedScopeHelper->isScopeDeprecated($scope)) {
|
||||
return [];
|
||||
}
|
||||
|
||||
|
||||
@@ -19,12 +19,16 @@ class FetchingDeprecatedConstRule implements Rule
|
||||
/** @var ReflectionProvider */
|
||||
private $reflectionProvider;
|
||||
|
||||
/** @var DeprecatedScopeHelper */
|
||||
private $deprecatedScopeHelper;
|
||||
|
||||
/** @var array<string,string> */
|
||||
private $deprecatedConstants = [];
|
||||
|
||||
public function __construct(ReflectionProvider $reflectionProvider)
|
||||
public function __construct(ReflectionProvider $reflectionProvider, DeprecatedScopeHelper $deprecatedScopeHelper)
|
||||
{
|
||||
$this->reflectionProvider = $reflectionProvider;
|
||||
$this->deprecatedScopeHelper = $deprecatedScopeHelper;
|
||||
|
||||
// phpcs:ignore SlevomatCodingStandard.ControlStructures.EarlyExit.EarlyExitNotUsed
|
||||
if (PHP_VERSION_ID >= 70300) {
|
||||
@@ -40,7 +44,7 @@ class FetchingDeprecatedConstRule implements Rule
|
||||
|
||||
public function processNode(Node $node, Scope $scope): array
|
||||
{
|
||||
if (DeprecatedScopeHelper::isScopeDeprecated($scope)) {
|
||||
if ($this->deprecatedScopeHelper->isScopeDeprecated($scope)) {
|
||||
return [];
|
||||
}
|
||||
|
||||
|
||||
@@ -19,9 +19,13 @@ class ImplementationOfDeprecatedInterfaceRule implements Rule
|
||||
/** @var ReflectionProvider */
|
||||
private $reflectionProvider;
|
||||
|
||||
public function __construct(ReflectionProvider $reflectionProvider)
|
||||
/** @var DeprecatedScopeHelper */
|
||||
private $deprecatedScopeHelper;
|
||||
|
||||
public function __construct(ReflectionProvider $reflectionProvider, DeprecatedScopeHelper $deprecatedScopeHelper)
|
||||
{
|
||||
$this->reflectionProvider = $reflectionProvider;
|
||||
$this->deprecatedScopeHelper = $deprecatedScopeHelper;
|
||||
}
|
||||
|
||||
public function getNodeType(): string
|
||||
@@ -31,7 +35,7 @@ class ImplementationOfDeprecatedInterfaceRule implements Rule
|
||||
|
||||
public function processNode(Node $node, Scope $scope): array
|
||||
{
|
||||
if (DeprecatedScopeHelper::isScopeDeprecated($scope)) {
|
||||
if ($this->deprecatedScopeHelper->isScopeDeprecated($scope)) {
|
||||
return [];
|
||||
}
|
||||
|
||||
|
||||
@@ -19,9 +19,13 @@ class InheritanceOfDeprecatedClassRule implements Rule
|
||||
/** @var ReflectionProvider */
|
||||
private $reflectionProvider;
|
||||
|
||||
public function __construct(ReflectionProvider $reflectionProvider)
|
||||
/** @var DeprecatedScopeHelper */
|
||||
private $deprecatedScopeHelper;
|
||||
|
||||
public function __construct(ReflectionProvider $reflectionProvider, DeprecatedScopeHelper $deprecatedScopeHelper)
|
||||
{
|
||||
$this->reflectionProvider = $reflectionProvider;
|
||||
$this->deprecatedScopeHelper = $deprecatedScopeHelper;
|
||||
}
|
||||
|
||||
public function getNodeType(): string
|
||||
@@ -31,7 +35,7 @@ class InheritanceOfDeprecatedClassRule implements Rule
|
||||
|
||||
public function processNode(Node $node, Scope $scope): array
|
||||
{
|
||||
if (DeprecatedScopeHelper::isScopeDeprecated($scope)) {
|
||||
if ($this->deprecatedScopeHelper->isScopeDeprecated($scope)) {
|
||||
return [];
|
||||
}
|
||||
|
||||
|
||||
@@ -26,10 +26,14 @@ class InstantiationOfDeprecatedClassRule implements Rule
|
||||
/** @var RuleLevelHelper */
|
||||
private $ruleLevelHelper;
|
||||
|
||||
public function __construct(ReflectionProvider $reflectionProvider, RuleLevelHelper $ruleLevelHelper)
|
||||
/** @var DeprecatedScopeHelper */
|
||||
private $deprecatedScopeHelper;
|
||||
|
||||
public function __construct(ReflectionProvider $reflectionProvider, RuleLevelHelper $ruleLevelHelper, DeprecatedScopeHelper $deprecatedScopeHelper)
|
||||
{
|
||||
$this->reflectionProvider = $reflectionProvider;
|
||||
$this->ruleLevelHelper = $ruleLevelHelper;
|
||||
$this->deprecatedScopeHelper = $deprecatedScopeHelper;
|
||||
}
|
||||
|
||||
public function getNodeType(): string
|
||||
@@ -39,7 +43,7 @@ class InstantiationOfDeprecatedClassRule implements Rule
|
||||
|
||||
public function processNode(Node $node, Scope $scope): array
|
||||
{
|
||||
if (DeprecatedScopeHelper::isScopeDeprecated($scope)) {
|
||||
if ($this->deprecatedScopeHelper->isScopeDeprecated($scope)) {
|
||||
return [];
|
||||
}
|
||||
|
||||
|
||||
@@ -18,9 +18,13 @@ class TypeHintDeprecatedInClassMethodSignatureRule implements Rule
|
||||
/** @var DeprecatedClassHelper */
|
||||
private $deprecatedClassHelper;
|
||||
|
||||
public function __construct(DeprecatedClassHelper $deprecatedClassHelper)
|
||||
/** @var DeprecatedScopeHelper */
|
||||
private $deprecatedScopeHelper;
|
||||
|
||||
public function __construct(DeprecatedClassHelper $deprecatedClassHelper, DeprecatedScopeHelper $deprecatedScopeHelper)
|
||||
{
|
||||
$this->deprecatedClassHelper = $deprecatedClassHelper;
|
||||
$this->deprecatedScopeHelper = $deprecatedScopeHelper;
|
||||
}
|
||||
|
||||
public function getNodeType(): string
|
||||
@@ -30,7 +34,7 @@ class TypeHintDeprecatedInClassMethodSignatureRule implements Rule
|
||||
|
||||
public function processNode(Node $node, Scope $scope): array
|
||||
{
|
||||
if (DeprecatedScopeHelper::isScopeDeprecated($scope)) {
|
||||
if ($this->deprecatedScopeHelper->isScopeDeprecated($scope)) {
|
||||
return [];
|
||||
}
|
||||
|
||||
|
||||
@@ -18,9 +18,13 @@ class TypeHintDeprecatedInClosureSignatureRule implements Rule
|
||||
/** @var DeprecatedClassHelper */
|
||||
private $deprecatedClassHelper;
|
||||
|
||||
public function __construct(DeprecatedClassHelper $deprecatedClassHelper)
|
||||
/** @var DeprecatedScopeHelper */
|
||||
private $deprecatedScopeHelper;
|
||||
|
||||
public function __construct(DeprecatedClassHelper $deprecatedClassHelper, DeprecatedScopeHelper $deprecatedScopeHelper)
|
||||
{
|
||||
$this->deprecatedClassHelper = $deprecatedClassHelper;
|
||||
$this->deprecatedScopeHelper = $deprecatedScopeHelper;
|
||||
}
|
||||
|
||||
public function getNodeType(): string
|
||||
@@ -30,7 +34,7 @@ class TypeHintDeprecatedInClosureSignatureRule implements Rule
|
||||
|
||||
public function processNode(Node $node, Scope $scope): array
|
||||
{
|
||||
if (DeprecatedScopeHelper::isScopeDeprecated($scope)) {
|
||||
if ($this->deprecatedScopeHelper->isScopeDeprecated($scope)) {
|
||||
return [];
|
||||
}
|
||||
|
||||
|
||||
@@ -19,9 +19,13 @@ class TypeHintDeprecatedInFunctionSignatureRule implements Rule
|
||||
/** @var DeprecatedClassHelper */
|
||||
private $deprecatedClassHelper;
|
||||
|
||||
public function __construct(DeprecatedClassHelper $deprecatedClassHelper)
|
||||
/** @var DeprecatedScopeHelper */
|
||||
private $deprecatedScopeHelper;
|
||||
|
||||
public function __construct(DeprecatedClassHelper $deprecatedClassHelper, DeprecatedScopeHelper $deprecatedScopeHelper)
|
||||
{
|
||||
$this->deprecatedClassHelper = $deprecatedClassHelper;
|
||||
$this->deprecatedScopeHelper = $deprecatedScopeHelper;
|
||||
}
|
||||
|
||||
public function getNodeType(): string
|
||||
@@ -31,7 +35,7 @@ class TypeHintDeprecatedInFunctionSignatureRule implements Rule
|
||||
|
||||
public function processNode(Node $node, Scope $scope): array
|
||||
{
|
||||
if (DeprecatedScopeHelper::isScopeDeprecated($scope)) {
|
||||
if ($this->deprecatedScopeHelper->isScopeDeprecated($scope)) {
|
||||
return [];
|
||||
}
|
||||
|
||||
|
||||
@@ -14,6 +14,14 @@ use function sprintf;
|
||||
class UsageOfDeprecatedCastRule implements Rule
|
||||
{
|
||||
|
||||
/** @var DeprecatedScopeHelper */
|
||||
private $deprecatedScopeHelper;
|
||||
|
||||
public function __construct(DeprecatedScopeHelper $deprecatedScopeHelper)
|
||||
{
|
||||
$this->deprecatedScopeHelper = $deprecatedScopeHelper;
|
||||
}
|
||||
|
||||
public function getNodeType(): string
|
||||
{
|
||||
return Cast::class;
|
||||
@@ -21,7 +29,7 @@ class UsageOfDeprecatedCastRule implements Rule
|
||||
|
||||
public function processNode(Node $node, Scope $scope): array
|
||||
{
|
||||
if (DeprecatedScopeHelper::isScopeDeprecated($scope)) {
|
||||
if ($this->deprecatedScopeHelper->isScopeDeprecated($scope)) {
|
||||
return [];
|
||||
}
|
||||
|
||||
|
||||
@@ -20,9 +20,13 @@ class UsageOfDeprecatedTraitRule implements Rule
|
||||
/** @var ReflectionProvider */
|
||||
private $reflectionProvider;
|
||||
|
||||
public function __construct(ReflectionProvider $reflectionProvider)
|
||||
/** @var DeprecatedScopeHelper */
|
||||
private $deprecatedScopeHelper;
|
||||
|
||||
public function __construct(ReflectionProvider $reflectionProvider, DeprecatedScopeHelper $deprecatedScopeHelper)
|
||||
{
|
||||
$this->reflectionProvider = $reflectionProvider;
|
||||
$this->deprecatedScopeHelper = $deprecatedScopeHelper;
|
||||
}
|
||||
|
||||
public function getNodeType(): string
|
||||
@@ -32,7 +36,7 @@ class UsageOfDeprecatedTraitRule implements Rule
|
||||
|
||||
public function processNode(Node $node, Scope $scope): array
|
||||
{
|
||||
if (DeprecatedScopeHelper::isScopeDeprecated($scope)) {
|
||||
if ($this->deprecatedScopeHelper->isScopeDeprecated($scope)) {
|
||||
return [];
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user