mirror of https://github.com/rectorphp/rector.git
Updated Rector to commit df459e711ae5bd8f359df40fbef863cc386bf107
df459e711a
Handle AlwaysRememberedExpr in deep Expr (#4310)
This commit is contained in:
parent
3c275c29fd
commit
f41e5dc13b
|
@ -8,7 +8,7 @@
|
|||
],
|
||||
"require": {
|
||||
"php": "^7.2|^8.0",
|
||||
"phpstan/phpstan": "^1.10.15"
|
||||
"phpstan/phpstan": "^1.10.20"
|
||||
},
|
||||
"autoload": {
|
||||
"files": [
|
||||
|
|
|
@ -9,7 +9,6 @@ use Rector\CodingStyle\Rector\Catch_\CatchExceptionNameMatchingTypeRector;
|
|||
use Rector\CodingStyle\Rector\Class_\AddArrayDefaultToArrayPropertyRector;
|
||||
use Rector\CodingStyle\Rector\ClassConst\RemoveFinalFromConstRector;
|
||||
use Rector\CodingStyle\Rector\ClassConst\SplitGroupedClassConstantsRector;
|
||||
use Rector\CodingStyle\Rector\ClassConst\VarConstantCommentRector;
|
||||
use Rector\CodingStyle\Rector\ClassMethod\FuncGetArgsToVariadicParamRector;
|
||||
use Rector\CodingStyle\Rector\ClassMethod\MakeInheritedMethodVisibilitySameAsParentRector;
|
||||
use Rector\CodingStyle\Rector\ClassMethod\NewlineBeforeNewAssignSetRector;
|
||||
|
@ -39,5 +38,5 @@ use Rector\Transform\Rector\FuncCall\FuncCallToConstFetchRector;
|
|||
use Rector\Visibility\Rector\ClassMethod\ExplicitPublicClassMethodRector;
|
||||
return static function (RectorConfig $rectorConfig) : void {
|
||||
$rectorConfig->ruleWithConfiguration(FuncCallToConstFetchRector::class, ['php_sapi_name' => 'PHP_SAPI', 'pi' => 'M_PI']);
|
||||
$rectorConfig->rules([SeparateMultiUseImportsRector::class, PostIncDecToPreIncDecRector::class, UnSpreadOperatorRector::class, NewlineAfterStatementRector::class, RemoveFinalFromConstRector::class, NullableCompareToNullRector::class, BinarySwitchToIfElseRector::class, ConsistentImplodeRector::class, TernaryConditionVariableAssignmentRector::class, SymplifyQuoteEscapeRector::class, StringClassNameToClassConstantRector::class, CatchExceptionNameMatchingTypeRector::class, UseIncrementAssignRector::class, SplitDoubleAssignRector::class, VarConstantCommentRector::class, EncapsedStringsToSprintfRector::class, WrapEncapsedVariableInCurlyBracesRector::class, NewlineBeforeNewAssignSetRector::class, AddArrayDefaultToArrayPropertyRector::class, MakeInheritedMethodVisibilitySameAsParentRector::class, CallUserFuncArrayToVariadicRector::class, VersionCompareFuncCallToConstantRector::class, StaticArrowFunctionRector::class, StaticClosureRector::class, CountArrayToEmptyArrayComparisonRector::class, CallUserFuncToMethodCallRector::class, FuncGetArgsToVariadicParamRector::class, StrictArraySearchRector::class, UseClassKeywordForClassNameResolutionRector::class, SplitGroupedPropertiesRector::class, SplitGroupedClassConstantsRector::class, ExplicitPublicClassMethodRector::class]);
|
||||
$rectorConfig->rules([SeparateMultiUseImportsRector::class, PostIncDecToPreIncDecRector::class, UnSpreadOperatorRector::class, NewlineAfterStatementRector::class, RemoveFinalFromConstRector::class, NullableCompareToNullRector::class, BinarySwitchToIfElseRector::class, ConsistentImplodeRector::class, TernaryConditionVariableAssignmentRector::class, SymplifyQuoteEscapeRector::class, StringClassNameToClassConstantRector::class, CatchExceptionNameMatchingTypeRector::class, UseIncrementAssignRector::class, SplitDoubleAssignRector::class, EncapsedStringsToSprintfRector::class, WrapEncapsedVariableInCurlyBracesRector::class, NewlineBeforeNewAssignSetRector::class, AddArrayDefaultToArrayPropertyRector::class, MakeInheritedMethodVisibilitySameAsParentRector::class, CallUserFuncArrayToVariadicRector::class, VersionCompareFuncCallToConstantRector::class, StaticArrowFunctionRector::class, StaticClosureRector::class, CountArrayToEmptyArrayComparisonRector::class, CallUserFuncToMethodCallRector::class, FuncGetArgsToVariadicParamRector::class, StrictArraySearchRector::class, UseClassKeywordForClassNameResolutionRector::class, SplitGroupedPropertiesRector::class, SplitGroupedClassConstantsRector::class, ExplicitPublicClassMethodRector::class]);
|
||||
};
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# 369 Rules Overview
|
||||
# 368 Rules Overview
|
||||
|
||||
<br>
|
||||
|
||||
|
@ -8,7 +8,7 @@
|
|||
|
||||
- [CodeQuality](#codequality) (72)
|
||||
|
||||
- [CodingStyle](#codingstyle) (32)
|
||||
- [CodingStyle](#codingstyle) (31)
|
||||
|
||||
- [DeadCode](#deadcode) (43)
|
||||
|
||||
|
@ -2299,24 +2299,6 @@ Use ++ increment instead of `$var += 1`
|
|||
|
||||
<br>
|
||||
|
||||
### VarConstantCommentRector
|
||||
|
||||
Constant should have a `@var` comment with type
|
||||
|
||||
- class: [`Rector\CodingStyle\Rector\ClassConst\VarConstantCommentRector`](../rules/CodingStyle/Rector/ClassConst/VarConstantCommentRector.php)
|
||||
|
||||
```diff
|
||||
class SomeClass
|
||||
{
|
||||
+ /**
|
||||
+ * @var string
|
||||
+ */
|
||||
const HI = 'hi';
|
||||
}
|
||||
```
|
||||
|
||||
<br>
|
||||
|
||||
### VersionCompareFuncCallToConstantRector
|
||||
|
||||
Changes use of call to version compare function to use of PHP version constant
|
||||
|
|
|
@ -61,6 +61,7 @@ use Rector\Core\Exception\ShouldNotHappenException;
|
|||
use Rector\Core\NodeAnalyzer\ClassAnalyzer;
|
||||
use Rector\Core\PhpParser\Node\CustomNode\FileWithoutNamespace;
|
||||
use Rector\Core\PhpParser\NodeTraverser\FileWithoutNamespaceNodeTraverser;
|
||||
use Rector\Core\PHPStan\NodeVisitor\WrappedNodeRestoringNodeVisitor;
|
||||
use Rector\Core\Util\Reflection\PrivatesAccessor;
|
||||
use Rector\NodeNameResolver\NodeNameResolver;
|
||||
use Rector\NodeTypeResolver\Node\AttributeKey;
|
||||
|
@ -438,6 +439,9 @@ final class PHPStanNodeScopeResolver
|
|||
{
|
||||
$this->nodeScopeResolver->processNodes($stmts, $mutatingScope, $nodeCallback);
|
||||
$this->resolveAndSaveDependentFiles($stmts, $mutatingScope, $filePath);
|
||||
$nodeTraverser = new NodeTraverser();
|
||||
$nodeTraverser->addVisitor(new WrappedNodeRestoringNodeVisitor());
|
||||
$nodeTraverser->traverse($stmts);
|
||||
return $stmts;
|
||||
}
|
||||
/**
|
||||
|
|
|
@ -1,154 +0,0 @@
|
|||
<?php
|
||||
|
||||
declare (strict_types=1);
|
||||
namespace Rector\CodingStyle\Rector\ClassConst;
|
||||
|
||||
use PhpParser\Node;
|
||||
use PhpParser\Node\Stmt\ClassConst;
|
||||
use PHPStan\PhpDocParser\Ast\PhpDoc\VarTagValueNode;
|
||||
use PHPStan\PhpDocParser\Ast\Type\ArrayTypeNode;
|
||||
use PHPStan\PhpDocParser\Ast\Type\GenericTypeNode;
|
||||
use PHPStan\PhpDocParser\Ast\Type\UnionTypeNode;
|
||||
use PHPStan\Type\ArrayType;
|
||||
use PHPStan\Type\Constant\ConstantArrayType;
|
||||
use PHPStan\Type\MixedType;
|
||||
use PHPStan\Type\Type;
|
||||
use Rector\BetterPhpDocParser\PhpDocInfo\PhpDocInfo;
|
||||
use Rector\BetterPhpDocParser\PhpDocManipulator\PhpDocTypeChanger;
|
||||
use Rector\Core\Rector\AbstractRector;
|
||||
use Rector\NodeTypeResolver\TypeComparator\TypeComparator;
|
||||
use Rector\Privatization\TypeManipulator\TypeNormalizer;
|
||||
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
|
||||
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
|
||||
/**
|
||||
* @deprecated The doc block types are not reliable, and typed constants are comming to PHP 8.3, use those instead.
|
||||
*
|
||||
* @see \Rector\Tests\CodingStyle\Rector\ClassConst\VarConstantCommentRector\VarConstantCommentRectorTest
|
||||
*/
|
||||
final class VarConstantCommentRector extends AbstractRector
|
||||
{
|
||||
/**
|
||||
* @readonly
|
||||
* @var \Rector\NodeTypeResolver\TypeComparator\TypeComparator
|
||||
*/
|
||||
private $typeComparator;
|
||||
/**
|
||||
* @readonly
|
||||
* @var \Rector\BetterPhpDocParser\PhpDocManipulator\PhpDocTypeChanger
|
||||
*/
|
||||
private $phpDocTypeChanger;
|
||||
/**
|
||||
* @readonly
|
||||
* @var \Rector\Privatization\TypeManipulator\TypeNormalizer
|
||||
*/
|
||||
private $typeNormalizer;
|
||||
public function __construct(TypeComparator $typeComparator, PhpDocTypeChanger $phpDocTypeChanger, TypeNormalizer $typeNormalizer)
|
||||
{
|
||||
$this->typeComparator = $typeComparator;
|
||||
$this->phpDocTypeChanger = $phpDocTypeChanger;
|
||||
$this->typeNormalizer = $typeNormalizer;
|
||||
}
|
||||
public function getRuleDefinition() : RuleDefinition
|
||||
{
|
||||
return new RuleDefinition('Constant should have a @var comment with type', [new CodeSample(<<<'CODE_SAMPLE'
|
||||
class SomeClass
|
||||
{
|
||||
const HI = 'hi';
|
||||
}
|
||||
CODE_SAMPLE
|
||||
, <<<'CODE_SAMPLE'
|
||||
class SomeClass
|
||||
{
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
const HI = 'hi';
|
||||
}
|
||||
CODE_SAMPLE
|
||||
)]);
|
||||
}
|
||||
/**
|
||||
* @return array<class-string<Node>>
|
||||
*/
|
||||
public function getNodeTypes() : array
|
||||
{
|
||||
return [ClassConst::class];
|
||||
}
|
||||
/**
|
||||
* @param ClassConst $node
|
||||
*/
|
||||
public function refactor(Node $node) : ?Node
|
||||
{
|
||||
if (\count($node->consts) > 1) {
|
||||
return null;
|
||||
}
|
||||
$constType = $this->getType($node->consts[0]->value);
|
||||
if ($constType instanceof MixedType) {
|
||||
return null;
|
||||
}
|
||||
// generalize false/true type to bool, as mostly default value but accepts both
|
||||
$constType = $this->typeNormalizer->generalizeConstantBoolTypes($constType);
|
||||
$phpDocInfo = $this->phpDocInfoFactory->createFromNodeOrEmpty($node);
|
||||
if ($this->shouldSkipConstantArrayType($constType, $phpDocInfo)) {
|
||||
return null;
|
||||
}
|
||||
if ($this->typeComparator->isSubtype($constType, $phpDocInfo->getVarType())) {
|
||||
return null;
|
||||
}
|
||||
// already filled
|
||||
if ($phpDocInfo->getVarTagValueNode() instanceof VarTagValueNode) {
|
||||
return null;
|
||||
}
|
||||
$this->phpDocTypeChanger->changeVarType($node, $phpDocInfo, $constType);
|
||||
if (!$phpDocInfo->hasChanged()) {
|
||||
return null;
|
||||
}
|
||||
return $node;
|
||||
}
|
||||
private function hasTwoAndMoreGenericClassStringTypes(ConstantArrayType $constantArrayType) : bool
|
||||
{
|
||||
$typeNode = $this->staticTypeMapper->mapPHPStanTypeToPHPStanPhpDocTypeNode($constantArrayType);
|
||||
if (!$typeNode instanceof ArrayTypeNode) {
|
||||
return \false;
|
||||
}
|
||||
if (!$typeNode->type instanceof UnionTypeNode) {
|
||||
return \false;
|
||||
}
|
||||
$genericTypeNodeCount = 0;
|
||||
foreach ($typeNode->type->types as $unionedTypeNode) {
|
||||
if ($unionedTypeNode instanceof GenericTypeNode) {
|
||||
++$genericTypeNodeCount;
|
||||
}
|
||||
}
|
||||
return $genericTypeNodeCount > 1;
|
||||
}
|
||||
/**
|
||||
* Skip big arrays and mixed[] constants
|
||||
*/
|
||||
private function shouldSkipConstantArrayType(Type $constType, PhpDocInfo $phpDocInfo) : bool
|
||||
{
|
||||
if (!$constType instanceof ConstantArrayType) {
|
||||
return \false;
|
||||
}
|
||||
$currentVarType = $phpDocInfo->getVarType();
|
||||
if ($currentVarType instanceof ArrayType && $currentVarType->getItemType() instanceof MixedType) {
|
||||
return \true;
|
||||
}
|
||||
if ($this->hasTwoAndMoreGenericClassStringTypes($constType)) {
|
||||
return \true;
|
||||
}
|
||||
return $this->isHugeNestedConstantArrayTyp($constType);
|
||||
}
|
||||
private function isHugeNestedConstantArrayTyp(ConstantArrayType $constantArrayType) : bool
|
||||
{
|
||||
if (\count($constantArrayType->getValueTypes()) <= 3) {
|
||||
return \false;
|
||||
}
|
||||
foreach ($constantArrayType->getValueTypes() as $constValueType) {
|
||||
if ($constValueType instanceof ConstantArrayType) {
|
||||
return \true;
|
||||
}
|
||||
}
|
||||
return \false;
|
||||
}
|
||||
}
|
|
@ -19,12 +19,12 @@ final class VersionResolver
|
|||
* @api
|
||||
* @var string
|
||||
*/
|
||||
public const PACKAGE_VERSION = '3ed219bb2fb0f598e09ecc061655a97f28a77454';
|
||||
public const PACKAGE_VERSION = 'df459e711ae5bd8f359df40fbef863cc386bf107';
|
||||
/**
|
||||
* @api
|
||||
* @var string
|
||||
*/
|
||||
public const RELEASE_DATE = '2023-06-20 09:48:49';
|
||||
public const RELEASE_DATE = '2023-06-21 16:40:17';
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
|
|
|
@ -0,0 +1,26 @@
|
|||
<?php
|
||||
|
||||
declare (strict_types=1);
|
||||
namespace Rector\Core\PHPStan\NodeVisitor;
|
||||
|
||||
use PhpParser\Node;
|
||||
use PhpParser\NodeVisitorAbstract;
|
||||
use PHPStan\Node\Expr\AlwaysRememberedExpr;
|
||||
/**
|
||||
* Restore node tree to avoid PHPStan virtual node printing
|
||||
* @ref https://github.com/phpstan/phpstan-src/commit/0cdda0b210a623ee299323da80771c2c84c602f9
|
||||
*/
|
||||
final class WrappedNodeRestoringNodeVisitor extends NodeVisitorAbstract
|
||||
{
|
||||
public function enterNode(Node $node) : ?Node
|
||||
{
|
||||
if (!$node instanceof AlwaysRememberedExpr) {
|
||||
return null;
|
||||
}
|
||||
$expr = $node;
|
||||
while ($expr instanceof AlwaysRememberedExpr) {
|
||||
$expr = $expr->getExpr();
|
||||
}
|
||||
return $expr;
|
||||
}
|
||||
}
|
|
@ -367,15 +367,32 @@ final class BetterNodeFinder
|
|||
*/
|
||||
public function findFirstInFunctionLikeScoped($functionLike, callable $filter) : ?Node
|
||||
{
|
||||
$foundNode = $this->findFirst((array) $functionLike->stmts, $filter);
|
||||
if ($functionLike->stmts === null) {
|
||||
return null;
|
||||
}
|
||||
$foundNode = $this->findFirst($functionLike->stmts, $filter);
|
||||
if (!$foundNode instanceof Node) {
|
||||
return null;
|
||||
}
|
||||
$parentFunctionLike = $this->findParentByTypes($foundNode, [ClassMethod::class, Function_::class, Closure::class, Class_::class]);
|
||||
if ($parentFunctionLike !== $functionLike) {
|
||||
return null;
|
||||
if (!$this->hasInstancesOf($functionLike->stmts, [Class_::class, Function_::class, Closure::class])) {
|
||||
return $foundNode;
|
||||
}
|
||||
return $foundNode;
|
||||
$scopedNode = null;
|
||||
$this->simpleCallableNodeTraverser->traverseNodesWithCallable($functionLike->stmts, static function (Node $subNode) use(&$scopedNode, $foundNode) : ?int {
|
||||
if ($subNode instanceof Class_ || $subNode instanceof Function_ || $subNode instanceof Closure) {
|
||||
if ($foundNode instanceof $subNode && $subNode === $foundNode) {
|
||||
$scopedNode = $subNode;
|
||||
return NodeTraverser::STOP_TRAVERSAL;
|
||||
}
|
||||
return NodeTraverser::DONT_TRAVERSE_CURRENT_AND_CHILDREN;
|
||||
}
|
||||
if ($foundNode instanceof $subNode && $subNode === $foundNode) {
|
||||
$scopedNode = $subNode;
|
||||
return NodeTraverser::STOP_TRAVERSAL;
|
||||
}
|
||||
return null;
|
||||
});
|
||||
return $scopedNode;
|
||||
}
|
||||
public function resolveCurrentStatement(Node $node) : ?Stmt
|
||||
{
|
||||
|
|
|
@ -22,4 +22,4 @@ if (PHP_VERSION_ID < 50600) {
|
|||
|
||||
require_once __DIR__ . '/composer/autoload_real.php';
|
||||
|
||||
return ComposerAutoloaderInit52002a44aff02a3895d61e0c389cf8d8::getLoader();
|
||||
return ComposerAutoloaderInitb182314be48c7453fab0665e5cc0c4bc::getLoader();
|
||||
|
|
|
@ -1462,7 +1462,6 @@ return array(
|
|||
'Rector\\CodingStyle\\Rector\\Catch_\\CatchExceptionNameMatchingTypeRector' => $baseDir . '/rules/CodingStyle/Rector/Catch_/CatchExceptionNameMatchingTypeRector.php',
|
||||
'Rector\\CodingStyle\\Rector\\ClassConst\\RemoveFinalFromConstRector' => $baseDir . '/rules/CodingStyle/Rector/ClassConst/RemoveFinalFromConstRector.php',
|
||||
'Rector\\CodingStyle\\Rector\\ClassConst\\SplitGroupedClassConstantsRector' => $baseDir . '/rules/CodingStyle/Rector/ClassConst/SplitGroupedClassConstantsRector.php',
|
||||
'Rector\\CodingStyle\\Rector\\ClassConst\\VarConstantCommentRector' => $baseDir . '/rules/CodingStyle/Rector/ClassConst/VarConstantCommentRector.php',
|
||||
'Rector\\CodingStyle\\Rector\\ClassMethod\\DataProviderArrayItemsNewlinedRector' => $baseDir . '/rules/CodingStyle/Rector/ClassMethod/DataProviderArrayItemsNewlinedRector.php',
|
||||
'Rector\\CodingStyle\\Rector\\ClassMethod\\FuncGetArgsToVariadicParamRector' => $baseDir . '/rules/CodingStyle/Rector/ClassMethod/FuncGetArgsToVariadicParamRector.php',
|
||||
'Rector\\CodingStyle\\Rector\\ClassMethod\\MakeInheritedMethodVisibilitySameAsParentRector' => $baseDir . '/rules/CodingStyle/Rector/ClassMethod/MakeInheritedMethodVisibilitySameAsParentRector.php',
|
||||
|
@ -1608,6 +1607,7 @@ return array(
|
|||
'Rector\\Core\\NodeManipulator\\StmtsManipulator' => $baseDir . '/src/NodeManipulator/StmtsManipulator.php',
|
||||
'Rector\\Core\\NonPhpFile\\NonPhpFileProcessor' => $baseDir . '/src/NonPhpFile/NonPhpFileProcessor.php',
|
||||
'Rector\\Core\\NonPhpFile\\Rector\\RenameClassNonPhpRector' => $baseDir . '/src/NonPhpFile/Rector/RenameClassNonPhpRector.php',
|
||||
'Rector\\Core\\PHPStan\\NodeVisitor\\WrappedNodeRestoringNodeVisitor' => $baseDir . '/src/PHPStan/NodeVisitor/WrappedNodeRestoringNodeVisitor.php',
|
||||
'Rector\\Core\\PHPStan\\Reflection\\TypeToCallReflectionResolver\\ClosureTypeToCallReflectionResolver' => $baseDir . '/src/PHPStan/Reflection/TypeToCallReflectionResolver/ClosureTypeToCallReflectionResolver.php',
|
||||
'Rector\\Core\\PHPStan\\Reflection\\TypeToCallReflectionResolver\\ConstantArrayTypeToCallReflectionResolver' => $baseDir . '/src/PHPStan/Reflection/TypeToCallReflectionResolver/ConstantArrayTypeToCallReflectionResolver.php',
|
||||
'Rector\\Core\\PHPStan\\Reflection\\TypeToCallReflectionResolver\\ConstantStringTypeToCallReflectionResolver' => $baseDir . '/src/PHPStan/Reflection/TypeToCallReflectionResolver/ConstantStringTypeToCallReflectionResolver.php',
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
// autoload_real.php @generated by Composer
|
||||
|
||||
class ComposerAutoloaderInit52002a44aff02a3895d61e0c389cf8d8
|
||||
class ComposerAutoloaderInitb182314be48c7453fab0665e5cc0c4bc
|
||||
{
|
||||
private static $loader;
|
||||
|
||||
|
@ -22,17 +22,17 @@ class ComposerAutoloaderInit52002a44aff02a3895d61e0c389cf8d8
|
|||
return self::$loader;
|
||||
}
|
||||
|
||||
spl_autoload_register(array('ComposerAutoloaderInit52002a44aff02a3895d61e0c389cf8d8', 'loadClassLoader'), true, true);
|
||||
spl_autoload_register(array('ComposerAutoloaderInitb182314be48c7453fab0665e5cc0c4bc', 'loadClassLoader'), true, true);
|
||||
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
|
||||
spl_autoload_unregister(array('ComposerAutoloaderInit52002a44aff02a3895d61e0c389cf8d8', 'loadClassLoader'));
|
||||
spl_autoload_unregister(array('ComposerAutoloaderInitb182314be48c7453fab0665e5cc0c4bc', 'loadClassLoader'));
|
||||
|
||||
require __DIR__ . '/autoload_static.php';
|
||||
call_user_func(\Composer\Autoload\ComposerStaticInit52002a44aff02a3895d61e0c389cf8d8::getInitializer($loader));
|
||||
call_user_func(\Composer\Autoload\ComposerStaticInitb182314be48c7453fab0665e5cc0c4bc::getInitializer($loader));
|
||||
|
||||
$loader->setClassMapAuthoritative(true);
|
||||
$loader->register(true);
|
||||
|
||||
$filesToLoad = \Composer\Autoload\ComposerStaticInit52002a44aff02a3895d61e0c389cf8d8::$files;
|
||||
$filesToLoad = \Composer\Autoload\ComposerStaticInitb182314be48c7453fab0665e5cc0c4bc::$files;
|
||||
$requireFile = \Closure::bind(static function ($fileIdentifier, $file) {
|
||||
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
|
||||
$GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
namespace Composer\Autoload;
|
||||
|
||||
class ComposerStaticInit52002a44aff02a3895d61e0c389cf8d8
|
||||
class ComposerStaticInitb182314be48c7453fab0665e5cc0c4bc
|
||||
{
|
||||
public static $files = array (
|
||||
'ad155f8f1cf0d418fe49e248db8c661b' => __DIR__ . '/..' . '/react/promise/src/functions_include.php',
|
||||
|
@ -1713,7 +1713,6 @@ class ComposerStaticInit52002a44aff02a3895d61e0c389cf8d8
|
|||
'Rector\\CodingStyle\\Rector\\Catch_\\CatchExceptionNameMatchingTypeRector' => __DIR__ . '/../..' . '/rules/CodingStyle/Rector/Catch_/CatchExceptionNameMatchingTypeRector.php',
|
||||
'Rector\\CodingStyle\\Rector\\ClassConst\\RemoveFinalFromConstRector' => __DIR__ . '/../..' . '/rules/CodingStyle/Rector/ClassConst/RemoveFinalFromConstRector.php',
|
||||
'Rector\\CodingStyle\\Rector\\ClassConst\\SplitGroupedClassConstantsRector' => __DIR__ . '/../..' . '/rules/CodingStyle/Rector/ClassConst/SplitGroupedClassConstantsRector.php',
|
||||
'Rector\\CodingStyle\\Rector\\ClassConst\\VarConstantCommentRector' => __DIR__ . '/../..' . '/rules/CodingStyle/Rector/ClassConst/VarConstantCommentRector.php',
|
||||
'Rector\\CodingStyle\\Rector\\ClassMethod\\DataProviderArrayItemsNewlinedRector' => __DIR__ . '/../..' . '/rules/CodingStyle/Rector/ClassMethod/DataProviderArrayItemsNewlinedRector.php',
|
||||
'Rector\\CodingStyle\\Rector\\ClassMethod\\FuncGetArgsToVariadicParamRector' => __DIR__ . '/../..' . '/rules/CodingStyle/Rector/ClassMethod/FuncGetArgsToVariadicParamRector.php',
|
||||
'Rector\\CodingStyle\\Rector\\ClassMethod\\MakeInheritedMethodVisibilitySameAsParentRector' => __DIR__ . '/../..' . '/rules/CodingStyle/Rector/ClassMethod/MakeInheritedMethodVisibilitySameAsParentRector.php',
|
||||
|
@ -1859,6 +1858,7 @@ class ComposerStaticInit52002a44aff02a3895d61e0c389cf8d8
|
|||
'Rector\\Core\\NodeManipulator\\StmtsManipulator' => __DIR__ . '/../..' . '/src/NodeManipulator/StmtsManipulator.php',
|
||||
'Rector\\Core\\NonPhpFile\\NonPhpFileProcessor' => __DIR__ . '/../..' . '/src/NonPhpFile/NonPhpFileProcessor.php',
|
||||
'Rector\\Core\\NonPhpFile\\Rector\\RenameClassNonPhpRector' => __DIR__ . '/../..' . '/src/NonPhpFile/Rector/RenameClassNonPhpRector.php',
|
||||
'Rector\\Core\\PHPStan\\NodeVisitor\\WrappedNodeRestoringNodeVisitor' => __DIR__ . '/../..' . '/src/PHPStan/NodeVisitor/WrappedNodeRestoringNodeVisitor.php',
|
||||
'Rector\\Core\\PHPStan\\Reflection\\TypeToCallReflectionResolver\\ClosureTypeToCallReflectionResolver' => __DIR__ . '/../..' . '/src/PHPStan/Reflection/TypeToCallReflectionResolver/ClosureTypeToCallReflectionResolver.php',
|
||||
'Rector\\Core\\PHPStan\\Reflection\\TypeToCallReflectionResolver\\ConstantArrayTypeToCallReflectionResolver' => __DIR__ . '/../..' . '/src/PHPStan/Reflection/TypeToCallReflectionResolver/ConstantArrayTypeToCallReflectionResolver.php',
|
||||
'Rector\\Core\\PHPStan\\Reflection\\TypeToCallReflectionResolver\\ConstantStringTypeToCallReflectionResolver' => __DIR__ . '/../..' . '/src/PHPStan/Reflection/TypeToCallReflectionResolver/ConstantStringTypeToCallReflectionResolver.php',
|
||||
|
@ -3097,9 +3097,9 @@ class ComposerStaticInit52002a44aff02a3895d61e0c389cf8d8
|
|||
public static function getInitializer(ClassLoader $loader)
|
||||
{
|
||||
return \Closure::bind(function () use ($loader) {
|
||||
$loader->prefixLengthsPsr4 = ComposerStaticInit52002a44aff02a3895d61e0c389cf8d8::$prefixLengthsPsr4;
|
||||
$loader->prefixDirsPsr4 = ComposerStaticInit52002a44aff02a3895d61e0c389cf8d8::$prefixDirsPsr4;
|
||||
$loader->classMap = ComposerStaticInit52002a44aff02a3895d61e0c389cf8d8::$classMap;
|
||||
$loader->prefixLengthsPsr4 = ComposerStaticInitb182314be48c7453fab0665e5cc0c4bc::$prefixLengthsPsr4;
|
||||
$loader->prefixDirsPsr4 = ComposerStaticInitb182314be48c7453fab0665e5cc0c4bc::$prefixDirsPsr4;
|
||||
$loader->classMap = ComposerStaticInitb182314be48c7453fab0665e5cc0c4bc::$classMap;
|
||||
|
||||
}, null, ClassLoader::class);
|
||||
}
|
||||
|
|
|
@ -976,17 +976,17 @@
|
|||
},
|
||||
{
|
||||
"name": "phpstan\/phpstan",
|
||||
"version": "1.10.19",
|
||||
"version_normalized": "1.10.19.0",
|
||||
"version": "1.10.20",
|
||||
"version_normalized": "1.10.20.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https:\/\/github.com\/phpstan\/phpstan.git",
|
||||
"reference": "af5a296ff02610c1bfb4ddfac9fd4a08657b9046"
|
||||
"reference": "c4c8adb56313fbd59ff5a5f4a496bbed1a6b8803"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https:\/\/api.github.com\/repos\/phpstan\/phpstan\/zipball\/af5a296ff02610c1bfb4ddfac9fd4a08657b9046",
|
||||
"reference": "af5a296ff02610c1bfb4ddfac9fd4a08657b9046",
|
||||
"url": "https:\/\/api.github.com\/repos\/phpstan\/phpstan\/zipball\/c4c8adb56313fbd59ff5a5f4a496bbed1a6b8803",
|
||||
"reference": "c4c8adb56313fbd59ff5a5f4a496bbed1a6b8803",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -995,7 +995,7 @@
|
|||
"conflict": {
|
||||
"phpstan\/phpstan-shim": "*"
|
||||
},
|
||||
"time": "2023-06-14T15:26:58+00:00",
|
||||
"time": "2023-06-20T12:07:40+00:00",
|
||||
"bin": [
|
||||
"phpstan",
|
||||
"phpstan.phar"
|
||||
|
|
File diff suppressed because one or more lines are too long
Binary file not shown.
|
@ -1,16 +1,16 @@
|
|||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQIzBAABCgAdFiEEynwsejDI6OEnSoR2UcZzBf/C5cAFAmSJ3CUACgkQUcZzBf/C
|
||||
5cAA1xAAk6e73+tZEVRVuWOE1u/Q6ZgMynL5cU1yOPhuoig09T6wwWubcD8ckdps
|
||||
QQc1d2lr5+5I+Yaj2tgoqu5r/CqnbpRa5WTSRSPdpIUkcdp54bJcE4WteH+P9wZQ
|
||||
QiCzxPSK4ZPPbVxLSWp7EjGfbcatf2Obx1KzoDlI21khDw7UaB9ZDISNKdBd96BB
|
||||
PXsBdqf5+SsWdxH3FiYJbPCHnKTio8gRVF0hH2nV8kFbgp4qolufJRlMdBDYJI0m
|
||||
0dGr3AA/Oya5Vv+qJi8Pn9tBUQPE9JJpvuQCTzzONTNJO7xffoVXgD1loVDvjZkX
|
||||
3hvgGkK9R3IKX5+JHG6BDJ/og+n+Vf3wg4/OPAZ84iQgl0kVdiR1ujXkJyiTxy1l
|
||||
ktr3qvnbnj45krbbYGVIR6XTstoGIVDfQpONoR6iPyfx0LvDWzpFXeE7FUHBooVZ
|
||||
rx0xwTLoQkwaCKVSsPXq+xv4+fhL0b9zyoFAoddIvjjtU6OxjIFqAVWAki7MiNml
|
||||
Gm8aoM6c9Q40wKNsU/43FtfJJzHrfIHFZS4a2kLCP/vcQiMWx49tOpBjH5XzFXy3
|
||||
fYThM7PvSlpgaAObY8Lp4HPST6zHMq0xTThmHOMkyFgheBE85aQwvgWmgE3bFobs
|
||||
L9d9EoKceyYA0ozQ+JIn3uDV6c0TZVJ2W97AAqAJBj1MBz64BCI=
|
||||
=F5Pi
|
||||
iQIzBAABCgAdFiEEynwsejDI6OEnSoR2UcZzBf/C5cAFAmSRlnIACgkQUcZzBf/C
|
||||
5cAJXg//SFG9Ax7JYvbJ83YuQ7zgYtXCwIDEBN7gnXbnpy9+PkfhCEwTwBq3Ge8I
|
||||
BOJc9pLhr7A3slhaU69Hg509yCrTQCy4iX9nqDB71rgoytrOq8s9pl5z4yim3O55
|
||||
WRzI1aHet3RHlsw8ayR+ZoCpw4bGTwht3LPRxCN6R4UygBmV/gLxbU/o1P0pc/VR
|
||||
ychSKQyZPkZIpWlcO4FZ9RhnhsxK+sXq2ehSZrXphFlrp8SRsoOSgAd4ZDSEhH6i
|
||||
E1Kb0BCzxSUrhUWP0mgcJYfhxrrMmaytdKtGsnFzlWn/5tK3VTOECGmWM1icbAlp
|
||||
yMWGCggo/qICZ/AVFhbfSgn4PsGaYS2bP/l2b/EZoPG7XD3t/0mhIpuEuq9vsp+k
|
||||
7ngeK5bfxDACAzeEf0aEG3kPHebU+fsL9T/uwuxGpwTWK6z00DyEVITkX+TceiZg
|
||||
NTM+/08w8AaREPiZ4RvebA7i/Rcx7gAGmX+0IGyKkP/7vGw58Ti4owc0GzTSEC7h
|
||||
8u+8A9ZB9h7OxNJuhxgkITaO9sL5XEitDweEVQZNF42I+wiOholstl3gz2SwjyFA
|
||||
6w3lK1lkEABFYl6f0HTIw0mHK7OmuzTF+3iy9fu3O2Fvh2WWQCOZsSNZVGgGKGlf
|
||||
3zbyzpm73yXe0ldJjswBOgD8mVUVuVRZMT/W4YmwDMsPDR7x45s=
|
||||
=oCBR
|
||||
-----END PGP SIGNATURE-----
|
||||
|
|
Loading…
Reference in New Issue