mirror of
https://github.com/rectorphp/rector.git
synced 2024-06-26 04:42:36 +00:00
Updated Rector to commit 6b9984175f
6b9984175f
[Naming] Fix PseudoNamespaceToNamespaceRector reporting on change (#2426)
This commit is contained in:
parent
5349987b1f
commit
bf28f06a74
|
@ -74,6 +74,7 @@ return static function (\Rector\Config\RectorConfig $rectorConfig) : void {
|
|||
__DIR__ . '/../packages/BetterPhpDocParser/PhpDoc',
|
||||
__DIR__ . '/../packages/PHPStanStaticTypeMapper/Enum',
|
||||
__DIR__ . '/../packages/Caching/Cache.php',
|
||||
__DIR__ . '/../packages/NodeTypeResolver/PhpDocNodeVisitor/UnderscoreRenamePhpDocNodeVisitor.php',
|
||||
// used in PHPStan
|
||||
__DIR__ . '/../packages/NodeTypeResolver/Reflection/BetterReflection/RectorBetterReflectionSourceLocatorFactory.php',
|
||||
__DIR__ . '/../packages/NodeTypeResolver/Reflection/BetterReflection/SourceLocatorProvider/DynamicSourceLocatorProvider.php',
|
||||
|
|
|
@ -1,25 +0,0 @@
|
|||
<?php
|
||||
|
||||
declare (strict_types=1);
|
||||
namespace Rector\BetterPhpDocParser\PhpDocNodeTraverser;
|
||||
|
||||
use Rector\BetterPhpDocParser\PhpDocNodeVisitor\ChangedPhpDocNodeVisitor;
|
||||
use RectorPrefix20220604\Symplify\Astral\PhpDocParser\PhpDocNodeTraverser;
|
||||
final class ChangedPhpDocNodeTraverserFactory
|
||||
{
|
||||
/**
|
||||
* @readonly
|
||||
* @var \Rector\BetterPhpDocParser\PhpDocNodeVisitor\ChangedPhpDocNodeVisitor
|
||||
*/
|
||||
private $changedPhpDocNodeVisitor;
|
||||
public function __construct(\Rector\BetterPhpDocParser\PhpDocNodeVisitor\ChangedPhpDocNodeVisitor $changedPhpDocNodeVisitor)
|
||||
{
|
||||
$this->changedPhpDocNodeVisitor = $changedPhpDocNodeVisitor;
|
||||
}
|
||||
public function create() : \RectorPrefix20220604\Symplify\Astral\PhpDocParser\PhpDocNodeTraverser
|
||||
{
|
||||
$changedPhpDocNodeTraverser = new \RectorPrefix20220604\Symplify\Astral\PhpDocParser\PhpDocNodeTraverser();
|
||||
$changedPhpDocNodeTraverser->addPhpDocNodeVisitor($this->changedPhpDocNodeVisitor);
|
||||
return $changedPhpDocNodeTraverser;
|
||||
}
|
||||
}
|
|
@ -16,7 +16,6 @@ use PHPStan\PhpDocParser\Ast\PhpDoc\VarTagValueNode;
|
|||
use PHPStan\PhpDocParser\Lexer\Lexer;
|
||||
use Rector\BetterPhpDocParser\PhpDoc\DoctrineAnnotationTagValueNode;
|
||||
use Rector\BetterPhpDocParser\PhpDocInfo\PhpDocInfo;
|
||||
use Rector\BetterPhpDocParser\PhpDocNodeTraverser\ChangedPhpDocNodeTraverserFactory;
|
||||
use Rector\BetterPhpDocParser\PhpDocNodeVisitor\ChangedPhpDocNodeVisitor;
|
||||
use Rector\BetterPhpDocParser\ValueObject\PhpDocAttributeKey;
|
||||
use Rector\BetterPhpDocParser\ValueObject\StartAndEnd;
|
||||
|
@ -98,13 +97,15 @@ final class PhpDocInfoPrinter
|
|||
* @var \Rector\BetterPhpDocParser\PhpDocNodeVisitor\ChangedPhpDocNodeVisitor
|
||||
*/
|
||||
private $changedPhpDocNodeVisitor;
|
||||
public function __construct(\Rector\BetterPhpDocParser\Printer\EmptyPhpDocDetector $emptyPhpDocDetector, \Rector\BetterPhpDocParser\Printer\DocBlockInliner $docBlockInliner, \Rector\BetterPhpDocParser\Printer\RemoveNodesStartAndEndResolver $removeNodesStartAndEndResolver, \Rector\BetterPhpDocParser\PhpDocNodeVisitor\ChangedPhpDocNodeVisitor $changedPhpDocNodeVisitor, \Rector\BetterPhpDocParser\PhpDocNodeTraverser\ChangedPhpDocNodeTraverserFactory $changedPhpDocNodeTraverserFactory)
|
||||
public function __construct(\Rector\BetterPhpDocParser\Printer\EmptyPhpDocDetector $emptyPhpDocDetector, \Rector\BetterPhpDocParser\Printer\DocBlockInliner $docBlockInliner, \Rector\BetterPhpDocParser\Printer\RemoveNodesStartAndEndResolver $removeNodesStartAndEndResolver, \Rector\BetterPhpDocParser\PhpDocNodeVisitor\ChangedPhpDocNodeVisitor $changedPhpDocNodeVisitor)
|
||||
{
|
||||
$this->emptyPhpDocDetector = $emptyPhpDocDetector;
|
||||
$this->docBlockInliner = $docBlockInliner;
|
||||
$this->removeNodesStartAndEndResolver = $removeNodesStartAndEndResolver;
|
||||
$this->changedPhpDocNodeVisitor = $changedPhpDocNodeVisitor;
|
||||
$this->changedPhpDocNodeTraverser = $changedPhpDocNodeTraverserFactory->create();
|
||||
$changedPhpDocNodeTraverser = new \RectorPrefix20220604\Symplify\Astral\PhpDocParser\PhpDocNodeTraverser();
|
||||
$changedPhpDocNodeTraverser->addPhpDocNodeVisitor($this->changedPhpDocNodeVisitor);
|
||||
$this->changedPhpDocNodeTraverser = $changedPhpDocNodeTraverser;
|
||||
}
|
||||
public function printNew(\Rector\BetterPhpDocParser\PhpDocInfo\PhpDocInfo $phpDocInfo) : string
|
||||
{
|
||||
|
|
|
@ -4,9 +4,9 @@ declare (strict_types=1);
|
|||
namespace Rector\NodeTypeResolver\PhpDoc\NodeAnalyzer;
|
||||
|
||||
use Rector\BetterPhpDocParser\PhpDocInfo\PhpDocInfo;
|
||||
use Rector\NodeTypeResolver\PhpDoc\PhpDocNodeTraverser\RenamingPhpDocNodeVisitorFactory;
|
||||
use Rector\NodeTypeResolver\PhpDocNodeVisitor\ClassRenamePhpDocNodeVisitor;
|
||||
use Rector\NodeTypeResolver\ValueObject\OldToNewType;
|
||||
use RectorPrefix20220604\Symplify\Astral\PhpDocParser\PhpDocNodeTraverser;
|
||||
final class DocBlockClassRenamer
|
||||
{
|
||||
/**
|
||||
|
@ -14,15 +14,9 @@ final class DocBlockClassRenamer
|
|||
* @var \Rector\NodeTypeResolver\PhpDocNodeVisitor\ClassRenamePhpDocNodeVisitor
|
||||
*/
|
||||
private $classRenamePhpDocNodeVisitor;
|
||||
/**
|
||||
* @readonly
|
||||
* @var \Rector\NodeTypeResolver\PhpDoc\PhpDocNodeTraverser\RenamingPhpDocNodeVisitorFactory
|
||||
*/
|
||||
private $renamingPhpDocNodeVisitorFactory;
|
||||
public function __construct(\Rector\NodeTypeResolver\PhpDocNodeVisitor\ClassRenamePhpDocNodeVisitor $classRenamePhpDocNodeVisitor, \Rector\NodeTypeResolver\PhpDoc\PhpDocNodeTraverser\RenamingPhpDocNodeVisitorFactory $renamingPhpDocNodeVisitorFactory)
|
||||
public function __construct(\Rector\NodeTypeResolver\PhpDocNodeVisitor\ClassRenamePhpDocNodeVisitor $classRenamePhpDocNodeVisitor)
|
||||
{
|
||||
$this->classRenamePhpDocNodeVisitor = $classRenamePhpDocNodeVisitor;
|
||||
$this->renamingPhpDocNodeVisitorFactory = $renamingPhpDocNodeVisitorFactory;
|
||||
}
|
||||
/**
|
||||
* @param OldToNewType[] $oldToNewTypes
|
||||
|
@ -32,7 +26,8 @@ final class DocBlockClassRenamer
|
|||
if ($oldToNewTypes === []) {
|
||||
return;
|
||||
}
|
||||
$phpDocNodeTraverser = $this->renamingPhpDocNodeVisitorFactory->create();
|
||||
$phpDocNodeTraverser = new \RectorPrefix20220604\Symplify\Astral\PhpDocParser\PhpDocNodeTraverser();
|
||||
$phpDocNodeTraverser->addPhpDocNodeVisitor($this->classRenamePhpDocNodeVisitor);
|
||||
$this->classRenamePhpDocNodeVisitor->setOldToNewTypes($oldToNewTypes);
|
||||
$phpDocNodeTraverser->traverse($phpDocInfo->getPhpDocNode());
|
||||
}
|
||||
|
|
|
@ -5,8 +5,8 @@ namespace Rector\NodeTypeResolver\PhpDoc\NodeAnalyzer;
|
|||
|
||||
use PhpParser\Node;
|
||||
use PHPStan\PhpDocParser\Ast\PhpDoc\PhpDocNode;
|
||||
use Rector\NodeTypeResolver\PhpDoc\PhpDocNodeTraverser\ImportingPhpDocNodeTraverserFactory;
|
||||
use Rector\NodeTypeResolver\PhpDocNodeVisitor\NameImportingPhpDocNodeVisitor;
|
||||
use RectorPrefix20220604\Symplify\Astral\PhpDocParser\PhpDocNodeTraverser;
|
||||
final class DocBlockNameImporter
|
||||
{
|
||||
/**
|
||||
|
@ -14,15 +14,9 @@ final class DocBlockNameImporter
|
|||
* @var \Rector\NodeTypeResolver\PhpDocNodeVisitor\NameImportingPhpDocNodeVisitor
|
||||
*/
|
||||
private $nameImportingPhpDocNodeVisitor;
|
||||
/**
|
||||
* @readonly
|
||||
* @var \Rector\NodeTypeResolver\PhpDoc\PhpDocNodeTraverser\ImportingPhpDocNodeTraverserFactory
|
||||
*/
|
||||
private $importingPhpDocNodeTraverserFactory;
|
||||
public function __construct(\Rector\NodeTypeResolver\PhpDocNodeVisitor\NameImportingPhpDocNodeVisitor $nameImportingPhpDocNodeVisitor, \Rector\NodeTypeResolver\PhpDoc\PhpDocNodeTraverser\ImportingPhpDocNodeTraverserFactory $importingPhpDocNodeTraverserFactory)
|
||||
public function __construct(\Rector\NodeTypeResolver\PhpDocNodeVisitor\NameImportingPhpDocNodeVisitor $nameImportingPhpDocNodeVisitor)
|
||||
{
|
||||
$this->nameImportingPhpDocNodeVisitor = $nameImportingPhpDocNodeVisitor;
|
||||
$this->importingPhpDocNodeTraverserFactory = $importingPhpDocNodeTraverserFactory;
|
||||
}
|
||||
public function importNames(\PHPStan\PhpDocParser\Ast\PhpDoc\PhpDocNode $phpDocNode, \PhpParser\Node $node) : void
|
||||
{
|
||||
|
@ -30,7 +24,8 @@ final class DocBlockNameImporter
|
|||
return;
|
||||
}
|
||||
$this->nameImportingPhpDocNodeVisitor->setCurrentNode($node);
|
||||
$phpDocNodeTraverser = $this->importingPhpDocNodeTraverserFactory->create();
|
||||
$phpDocNodeTraverser = new \RectorPrefix20220604\Symplify\Astral\PhpDocParser\PhpDocNodeTraverser();
|
||||
$phpDocNodeTraverser->addPhpDocNodeVisitor($this->nameImportingPhpDocNodeVisitor);
|
||||
$phpDocNodeTraverser->traverse($phpDocNode);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,25 +0,0 @@
|
|||
<?php
|
||||
|
||||
declare (strict_types=1);
|
||||
namespace Rector\NodeTypeResolver\PhpDoc\PhpDocNodeTraverser;
|
||||
|
||||
use Rector\NodeTypeResolver\PhpDocNodeVisitor\NameImportingPhpDocNodeVisitor;
|
||||
use RectorPrefix20220604\Symplify\Astral\PhpDocParser\PhpDocNodeTraverser;
|
||||
final class ImportingPhpDocNodeTraverserFactory
|
||||
{
|
||||
/**
|
||||
* @readonly
|
||||
* @var \Rector\NodeTypeResolver\PhpDocNodeVisitor\NameImportingPhpDocNodeVisitor
|
||||
*/
|
||||
private $nameImportingPhpDocNodeVisitor;
|
||||
public function __construct(\Rector\NodeTypeResolver\PhpDocNodeVisitor\NameImportingPhpDocNodeVisitor $nameImportingPhpDocNodeVisitor)
|
||||
{
|
||||
$this->nameImportingPhpDocNodeVisitor = $nameImportingPhpDocNodeVisitor;
|
||||
}
|
||||
public function create() : \RectorPrefix20220604\Symplify\Astral\PhpDocParser\PhpDocNodeTraverser
|
||||
{
|
||||
$phpDocNodeTraverser = new \RectorPrefix20220604\Symplify\Astral\PhpDocParser\PhpDocNodeTraverser();
|
||||
$phpDocNodeTraverser->addPhpDocNodeVisitor($this->nameImportingPhpDocNodeVisitor);
|
||||
return $phpDocNodeTraverser;
|
||||
}
|
||||
}
|
|
@ -1,25 +0,0 @@
|
|||
<?php
|
||||
|
||||
declare (strict_types=1);
|
||||
namespace Rector\NodeTypeResolver\PhpDoc\PhpDocNodeTraverser;
|
||||
|
||||
use Rector\NodeTypeResolver\PhpDocNodeVisitor\ClassRenamePhpDocNodeVisitor;
|
||||
use RectorPrefix20220604\Symplify\Astral\PhpDocParser\PhpDocNodeTraverser;
|
||||
final class RenamingPhpDocNodeVisitorFactory
|
||||
{
|
||||
/**
|
||||
* @readonly
|
||||
* @var \Rector\NodeTypeResolver\PhpDocNodeVisitor\ClassRenamePhpDocNodeVisitor
|
||||
*/
|
||||
private $classRenamePhpDocNodeVisitor;
|
||||
public function __construct(\Rector\NodeTypeResolver\PhpDocNodeVisitor\ClassRenamePhpDocNodeVisitor $classRenamePhpDocNodeVisitor)
|
||||
{
|
||||
$this->classRenamePhpDocNodeVisitor = $classRenamePhpDocNodeVisitor;
|
||||
}
|
||||
public function create() : \RectorPrefix20220604\Symplify\Astral\PhpDocParser\PhpDocNodeTraverser
|
||||
{
|
||||
$phpDocNodeTraverser = new \RectorPrefix20220604\Symplify\Astral\PhpDocParser\PhpDocNodeTraverser();
|
||||
$phpDocNodeTraverser->addPhpDocNodeVisitor($this->classRenamePhpDocNodeVisitor);
|
||||
return $phpDocNodeTraverser;
|
||||
}
|
||||
}
|
|
@ -1,25 +0,0 @@
|
|||
<?php
|
||||
|
||||
declare (strict_types=1);
|
||||
namespace Rector\NodeTypeResolver\PhpDoc\PhpDocNodeTraverser;
|
||||
|
||||
use Rector\NodeTypeResolver\PhpDocNodeVisitor\UnderscoreRenamePhpDocNodeVisitor;
|
||||
use RectorPrefix20220604\Symplify\Astral\PhpDocParser\PhpDocNodeTraverser;
|
||||
final class UnderscorePhpDocNodeTraverserFactory
|
||||
{
|
||||
/**
|
||||
* @readonly
|
||||
* @var \Rector\NodeTypeResolver\PhpDocNodeVisitor\UnderscoreRenamePhpDocNodeVisitor
|
||||
*/
|
||||
private $underscoreRenamePhpDocNodeVisitor;
|
||||
public function __construct(\Rector\NodeTypeResolver\PhpDocNodeVisitor\UnderscoreRenamePhpDocNodeVisitor $underscoreRenamePhpDocNodeVisitor)
|
||||
{
|
||||
$this->underscoreRenamePhpDocNodeVisitor = $underscoreRenamePhpDocNodeVisitor;
|
||||
}
|
||||
public function create() : \RectorPrefix20220604\Symplify\Astral\PhpDocParser\PhpDocNodeTraverser
|
||||
{
|
||||
$phpDocNodeTraverser = new \RectorPrefix20220604\Symplify\Astral\PhpDocParser\PhpDocNodeTraverser();
|
||||
$phpDocNodeTraverser->addPhpDocNodeVisitor($this->underscoreRenamePhpDocNodeVisitor);
|
||||
return $phpDocNodeTraverser;
|
||||
}
|
||||
}
|
|
@ -5,32 +5,29 @@ namespace Rector\NodeTypeResolver\PhpDoc;
|
|||
|
||||
use PhpParser\Node;
|
||||
use Rector\BetterPhpDocParser\PhpDocInfo\PhpDocInfo;
|
||||
use Rector\NodeTypeResolver\PhpDoc\PhpDocNodeTraverser\UnderscorePhpDocNodeTraverserFactory;
|
||||
use Rector\NodeTypeResolver\PhpDocNodeVisitor\UnderscoreRenamePhpDocNodeVisitor;
|
||||
use Rector\Renaming\ValueObject\PseudoNamespaceToNamespace;
|
||||
use Rector\StaticTypeMapper\StaticTypeMapper;
|
||||
use RectorPrefix20220604\Symplify\Astral\PhpDocParser\PhpDocNodeTraverser;
|
||||
final class PhpDocTypeRenamer
|
||||
{
|
||||
/**
|
||||
* @readonly
|
||||
* @var \Rector\NodeTypeResolver\PhpDoc\PhpDocNodeTraverser\UnderscorePhpDocNodeTraverserFactory
|
||||
* @var \Rector\StaticTypeMapper\StaticTypeMapper
|
||||
*/
|
||||
private $underscorePhpDocNodeTraverserFactory;
|
||||
/**
|
||||
* @readonly
|
||||
* @var \Rector\NodeTypeResolver\PhpDocNodeVisitor\UnderscoreRenamePhpDocNodeVisitor
|
||||
*/
|
||||
private $underscoreRenamePhpDocNodeVisitor;
|
||||
public function __construct(\Rector\NodeTypeResolver\PhpDoc\PhpDocNodeTraverser\UnderscorePhpDocNodeTraverserFactory $underscorePhpDocNodeTraverserFactory, \Rector\NodeTypeResolver\PhpDocNodeVisitor\UnderscoreRenamePhpDocNodeVisitor $underscoreRenamePhpDocNodeVisitor)
|
||||
private $staticTypeMapper;
|
||||
public function __construct(\Rector\StaticTypeMapper\StaticTypeMapper $staticTypeMapper)
|
||||
{
|
||||
$this->underscorePhpDocNodeTraverserFactory = $underscorePhpDocNodeTraverserFactory;
|
||||
$this->underscoreRenamePhpDocNodeVisitor = $underscoreRenamePhpDocNodeVisitor;
|
||||
$this->staticTypeMapper = $staticTypeMapper;
|
||||
}
|
||||
public function changeUnderscoreType(\Rector\BetterPhpDocParser\PhpDocInfo\PhpDocInfo $phpDocInfo, \PhpParser\Node $node, \Rector\Renaming\ValueObject\PseudoNamespaceToNamespace $pseudoNamespaceToNamespace) : void
|
||||
public function changeUnderscoreType(\Rector\BetterPhpDocParser\PhpDocInfo\PhpDocInfo $phpDocInfo, \PhpParser\Node $node, \Rector\Renaming\ValueObject\PseudoNamespaceToNamespace $pseudoNamespaceToNamespace) : bool
|
||||
{
|
||||
$phpDocNode = $phpDocInfo->getPhpDocNode();
|
||||
$this->underscoreRenamePhpDocNodeVisitor->setPseudoNamespaceToNamespace($pseudoNamespaceToNamespace);
|
||||
$this->underscoreRenamePhpDocNodeVisitor->setCurrentPhpParserNode($node);
|
||||
$phpDocNodeTraverser = $this->underscorePhpDocNodeTraverserFactory->create();
|
||||
$underscoreRenamePhpDocNodeVisitor = new \Rector\NodeTypeResolver\PhpDocNodeVisitor\UnderscoreRenamePhpDocNodeVisitor($this->staticTypeMapper, $pseudoNamespaceToNamespace, $node);
|
||||
$phpDocNodeTraverser = new \RectorPrefix20220604\Symplify\Astral\PhpDocParser\PhpDocNodeTraverser();
|
||||
$phpDocNodeTraverser->addPhpDocNodeVisitor($underscoreRenamePhpDocNodeVisitor);
|
||||
$phpDocNodeTraverser->traverse($phpDocNode);
|
||||
// has changed?
|
||||
return $underscoreRenamePhpDocNodeVisitor->hasChanged();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,62 +7,61 @@ use RectorPrefix20220604\Nette\Utils\Strings;
|
|||
use PHPStan\PhpDocParser\Ast\Node;
|
||||
use PHPStan\PhpDocParser\Ast\Type\IdentifierTypeNode;
|
||||
use PHPStan\Type\ObjectType;
|
||||
use Rector\Core\Exception\ShouldNotHappenException;
|
||||
use Rector\Renaming\ValueObject\PseudoNamespaceToNamespace;
|
||||
use Rector\StaticTypeMapper\StaticTypeMapper;
|
||||
use RectorPrefix20220604\Symplify\Astral\PhpDocParser\PhpDocNodeVisitor\AbstractPhpDocNodeVisitor;
|
||||
final class UnderscoreRenamePhpDocNodeVisitor extends \RectorPrefix20220604\Symplify\Astral\PhpDocParser\PhpDocNodeVisitor\AbstractPhpDocNodeVisitor
|
||||
{
|
||||
/**
|
||||
* @var \Rector\Renaming\ValueObject\PseudoNamespaceToNamespace|null
|
||||
* @var bool
|
||||
*/
|
||||
private $pseudoNamespaceToNamespace;
|
||||
/**
|
||||
* @var \PhpParser\Node|null
|
||||
*/
|
||||
private $currentPhpParserNode;
|
||||
private $hasChanged = \false;
|
||||
/**
|
||||
* @readonly
|
||||
* @var \Rector\StaticTypeMapper\StaticTypeMapper
|
||||
*/
|
||||
private $staticTypeMapper;
|
||||
public function __construct(\Rector\StaticTypeMapper\StaticTypeMapper $staticTypeMapper)
|
||||
/**
|
||||
* @readonly
|
||||
* @var \Rector\Renaming\ValueObject\PseudoNamespaceToNamespace
|
||||
*/
|
||||
private $pseudoNamespaceToNamespace;
|
||||
/**
|
||||
* @readonly
|
||||
* @var \PhpParser\Node
|
||||
*/
|
||||
private $phpNode;
|
||||
public function __construct(\Rector\StaticTypeMapper\StaticTypeMapper $staticTypeMapper, \Rector\Renaming\ValueObject\PseudoNamespaceToNamespace $pseudoNamespaceToNamespace, \PhpParser\Node $phpNode)
|
||||
{
|
||||
$this->staticTypeMapper = $staticTypeMapper;
|
||||
$this->pseudoNamespaceToNamespace = $pseudoNamespaceToNamespace;
|
||||
$this->phpNode = $phpNode;
|
||||
}
|
||||
public function beforeTraverse(\PHPStan\PhpDocParser\Ast\Node $node) : void
|
||||
{
|
||||
if ($this->pseudoNamespaceToNamespace === null) {
|
||||
throw new \Rector\Core\Exception\ShouldNotHappenException('Set PseudoNamespaceToNamespace first');
|
||||
}
|
||||
if (!$this->currentPhpParserNode instanceof \PhpParser\Node) {
|
||||
throw new \Rector\Core\Exception\ShouldNotHappenException('Set "$currentPhpParserNode" first');
|
||||
}
|
||||
$this->hasChanged = \false;
|
||||
}
|
||||
public function enterNode(\PHPStan\PhpDocParser\Ast\Node $node) : ?\PHPStan\PhpDocParser\Ast\Node
|
||||
{
|
||||
if (!$node instanceof \PHPStan\PhpDocParser\Ast\Type\IdentifierTypeNode) {
|
||||
return null;
|
||||
}
|
||||
if ($this->shouldSkip($node, $this->currentPhpParserNode, $this->pseudoNamespaceToNamespace)) {
|
||||
if ($this->shouldSkip($node, $this->phpNode, $this->pseudoNamespaceToNamespace)) {
|
||||
return null;
|
||||
}
|
||||
/** @var IdentifierTypeNode $node */
|
||||
$staticType = $this->staticTypeMapper->mapPHPStanPhpDocTypeNodeToPHPStanType($node, $this->currentPhpParserNode);
|
||||
$staticType = $this->staticTypeMapper->mapPHPStanPhpDocTypeNodeToPHPStanType($node, $this->phpNode);
|
||||
if (!$staticType instanceof \PHPStan\Type\ObjectType) {
|
||||
return null;
|
||||
}
|
||||
$this->hasChanged = \true;
|
||||
// change underscore to \\
|
||||
$slashedName = '\\' . \RectorPrefix20220604\Nette\Utils\Strings::replace($staticType->getClassName(), '#_#', '\\');
|
||||
return new \PHPStan\PhpDocParser\Ast\Type\IdentifierTypeNode($slashedName);
|
||||
}
|
||||
public function setPseudoNamespaceToNamespace(\Rector\Renaming\ValueObject\PseudoNamespaceToNamespace $pseudoNamespaceToNamespace) : void
|
||||
public function hasChanged() : bool
|
||||
{
|
||||
$this->pseudoNamespaceToNamespace = $pseudoNamespaceToNamespace;
|
||||
}
|
||||
public function setCurrentPhpParserNode(\PhpParser\Node $node) : void
|
||||
{
|
||||
$this->currentPhpParserNode = $node;
|
||||
return $this->hasChanged;
|
||||
}
|
||||
private function shouldSkip(\PHPStan\PhpDocParser\Ast\Type\IdentifierTypeNode $identifierTypeNode, \PhpParser\Node $phpParserNode, \Rector\Renaming\ValueObject\PseudoNamespaceToNamespace $pseudoNamespaceToNamespace) : bool
|
||||
{
|
||||
|
|
|
@ -78,16 +78,18 @@ CODE_SAMPLE
|
|||
{
|
||||
$this->newNamespace = null;
|
||||
if ($node instanceof \Rector\Core\PhpParser\Node\CustomNode\FileWithoutNamespace) {
|
||||
$stmts = $this->refactorStmts($node->stmts);
|
||||
$node->stmts = $stmts;
|
||||
$changedStmts = $this->refactorStmts($node->stmts);
|
||||
if ($changedStmts === null) {
|
||||
return null;
|
||||
}
|
||||
$node->stmts = $changedStmts;
|
||||
// add a new namespace?
|
||||
if ($this->newNamespace !== null) {
|
||||
return new \PhpParser\Node\Stmt\Namespace_(new \PhpParser\Node\Name($this->newNamespace), $stmts);
|
||||
return new \PhpParser\Node\Stmt\Namespace_(new \PhpParser\Node\Name($this->newNamespace), $changedStmts);
|
||||
}
|
||||
}
|
||||
if ($node instanceof \PhpParser\Node\Stmt\Namespace_) {
|
||||
$this->refactorStmts([$node]);
|
||||
return $node;
|
||||
return $this->refactorNamespace($node);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
@ -101,26 +103,32 @@ CODE_SAMPLE
|
|||
}
|
||||
/**
|
||||
* @param Stmt[] $stmts
|
||||
* @return Stmt[]
|
||||
* @return Stmt[]|null
|
||||
*/
|
||||
private function refactorStmts(array $stmts) : array
|
||||
private function refactorStmts(array $stmts) : ?array
|
||||
{
|
||||
$this->traverseNodesWithCallable($stmts, function (\PhpParser\Node $node) : ?Node {
|
||||
$hasChanged = \false;
|
||||
$this->traverseNodesWithCallable($stmts, function (\PhpParser\Node $node) use(&$hasChanged) : ?Node {
|
||||
if (!$node instanceof \PhpParser\Node\Name && !$node instanceof \PhpParser\Node\Identifier && !$node instanceof \PhpParser\Node\Stmt\Property && !$node instanceof \PhpParser\Node\FunctionLike) {
|
||||
return null;
|
||||
}
|
||||
$phpDocInfo = $this->phpDocInfoFactory->createFromNodeOrEmpty($node);
|
||||
// replace on @var/@param/@return/@throws
|
||||
foreach ($this->pseudoNamespacesToNamespaces as $pseudoNamespaceToNamespace) {
|
||||
$this->phpDocTypeRenamer->changeUnderscoreType($phpDocInfo, $node, $pseudoNamespaceToNamespace);
|
||||
if ($this->refactorPhpDoc($node)) {
|
||||
$hasChanged = \true;
|
||||
}
|
||||
// @todo - update rule to allow for bool instanceof check
|
||||
if ($node instanceof \PhpParser\Node\Name || $node instanceof \PhpParser\Node\Identifier) {
|
||||
return $this->processNameOrIdentifier($node);
|
||||
$changedNode = $this->processNameOrIdentifier($node);
|
||||
if ($changedNode instanceof \PhpParser\Node) {
|
||||
$hasChanged = \true;
|
||||
return $changedNode;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
});
|
||||
return $stmts;
|
||||
if ($hasChanged) {
|
||||
return $stmts;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
/**
|
||||
* @return Identifier|Name|null
|
||||
|
@ -175,4 +183,28 @@ CODE_SAMPLE
|
|||
$identifier->name = $lastNewNamePart;
|
||||
return $identifier;
|
||||
}
|
||||
private function refactorNamespace(\PhpParser\Node\Stmt\Namespace_ $namespace) : ?\PhpParser\Node\Stmt\Namespace_
|
||||
{
|
||||
$changedStmts = $this->refactorStmts($namespace->stmts);
|
||||
if ($changedStmts === null) {
|
||||
return null;
|
||||
}
|
||||
return $namespace;
|
||||
}
|
||||
/**
|
||||
* @param \PhpParser\Node\Name|\PhpParser\Node\FunctionLike|\PhpParser\Node\Identifier|\PhpParser\Node\Stmt\Property $node
|
||||
*/
|
||||
private function refactorPhpDoc($node) : bool
|
||||
{
|
||||
$hasChanged = \false;
|
||||
$phpDocInfo = $this->phpDocInfoFactory->createFromNodeOrEmpty($node);
|
||||
// replace on @var/@param/@return/@throws
|
||||
foreach ($this->pseudoNamespacesToNamespaces as $pseudoNamespaceToNamespace) {
|
||||
$hasDocTypeChanged = $this->phpDocTypeRenamer->changeUnderscoreType($phpDocInfo, $node, $pseudoNamespaceToNamespace);
|
||||
if ($hasDocTypeChanged) {
|
||||
$hasChanged = \true;
|
||||
}
|
||||
}
|
||||
return $hasChanged;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -16,11 +16,11 @@ final class VersionResolver
|
|||
/**
|
||||
* @var string
|
||||
*/
|
||||
public const PACKAGE_VERSION = 'c3581f9d339415a309668656d7e83e062588a1d1';
|
||||
public const PACKAGE_VERSION = '6b9984175f5a334baa6d1b0736fd2434f1338252';
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
public const RELEASE_DATE = '2022-06-04 07:37:23';
|
||||
public const RELEASE_DATE = '2022-06-04 08:09:40';
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
|
|
2
vendor/autoload.php
vendored
2
vendor/autoload.php
vendored
|
@ -9,4 +9,4 @@ if (PHP_VERSION_ID < 50600) {
|
|||
|
||||
require_once __DIR__ . '/composer/autoload_real.php';
|
||||
|
||||
return ComposerAutoloaderInited211136b2176d4962c85dca53c94647::getLoader();
|
||||
return ComposerAutoloaderInit6644991d8153f63a37b73dfa0ef3e4a4::getLoader();
|
||||
|
|
4
vendor/composer/autoload_classmap.php
vendored
4
vendor/composer/autoload_classmap.php
vendored
|
@ -1311,7 +1311,6 @@ return array(
|
|||
'Rector\\BetterPhpDocParser\\PhpDocManipulator\\VarAnnotationManipulator' => $baseDir . '/packages/BetterPhpDocParser/PhpDocManipulator/VarAnnotationManipulator.php',
|
||||
'Rector\\BetterPhpDocParser\\PhpDocNodeFinder\\PhpDocNodeByTypeFinder' => $baseDir . '/packages/BetterPhpDocParser/PhpDocNodeFinder/PhpDocNodeByTypeFinder.php',
|
||||
'Rector\\BetterPhpDocParser\\PhpDocNodeMapper' => $baseDir . '/packages/BetterPhpDocParser/PhpDocNodeMapper.php',
|
||||
'Rector\\BetterPhpDocParser\\PhpDocNodeTraverser\\ChangedPhpDocNodeTraverserFactory' => $baseDir . '/packages/BetterPhpDocParser/PhpDocNodeTraverser/ChangedPhpDocNodeTraverserFactory.php',
|
||||
'Rector\\BetterPhpDocParser\\PhpDocNodeVisitor\\ArrayTypePhpDocNodeVisitor' => $baseDir . '/packages/BetterPhpDocParser/PhpDocNodeVisitor/ArrayTypePhpDocNodeVisitor.php',
|
||||
'Rector\\BetterPhpDocParser\\PhpDocNodeVisitor\\CallableTypePhpDocNodeVisitor' => $baseDir . '/packages/BetterPhpDocParser/PhpDocNodeVisitor/CallableTypePhpDocNodeVisitor.php',
|
||||
'Rector\\BetterPhpDocParser\\PhpDocNodeVisitor\\ChangedPhpDocNodeVisitor' => $baseDir . '/packages/BetterPhpDocParser/PhpDocNodeVisitor/ChangedPhpDocNodeVisitor.php',
|
||||
|
@ -2333,9 +2332,6 @@ return array(
|
|||
'Rector\\NodeTypeResolver\\PhpDoc\\NodeAnalyzer\\DocBlockNameImporter' => $baseDir . '/packages/NodeTypeResolver/PhpDoc/NodeAnalyzer/DocBlockNameImporter.php',
|
||||
'Rector\\NodeTypeResolver\\PhpDoc\\NodeAnalyzer\\DocBlockNamespaceRenamer' => $baseDir . '/packages/NodeTypeResolver/PhpDoc/NodeAnalyzer/DocBlockNamespaceRenamer.php',
|
||||
'Rector\\NodeTypeResolver\\PhpDoc\\NodeAnalyzer\\DocBlockTagReplacer' => $baseDir . '/packages/NodeTypeResolver/PhpDoc/NodeAnalyzer/DocBlockTagReplacer.php',
|
||||
'Rector\\NodeTypeResolver\\PhpDoc\\PhpDocNodeTraverser\\ImportingPhpDocNodeTraverserFactory' => $baseDir . '/packages/NodeTypeResolver/PhpDoc/PhpDocNodeTraverser/ImportingPhpDocNodeTraverserFactory.php',
|
||||
'Rector\\NodeTypeResolver\\PhpDoc\\PhpDocNodeTraverser\\RenamingPhpDocNodeVisitorFactory' => $baseDir . '/packages/NodeTypeResolver/PhpDoc/PhpDocNodeTraverser/RenamingPhpDocNodeVisitorFactory.php',
|
||||
'Rector\\NodeTypeResolver\\PhpDoc\\PhpDocNodeTraverser\\UnderscorePhpDocNodeTraverserFactory' => $baseDir . '/packages/NodeTypeResolver/PhpDoc/PhpDocNodeTraverser/UnderscorePhpDocNodeTraverserFactory.php',
|
||||
'Rector\\NodeTypeResolver\\PhpDoc\\PhpDocTypeRenamer' => $baseDir . '/packages/NodeTypeResolver/PhpDoc/PhpDocTypeRenamer.php',
|
||||
'Rector\\NodeTypeResolver\\Reflection\\BetterReflection\\RectorBetterReflectionSourceLocatorFactory' => $baseDir . '/packages/NodeTypeResolver/Reflection/BetterReflection/RectorBetterReflectionSourceLocatorFactory.php',
|
||||
'Rector\\NodeTypeResolver\\Reflection\\BetterReflection\\SourceLocatorProvider\\DynamicSourceLocatorProvider' => $baseDir . '/packages/NodeTypeResolver/Reflection/BetterReflection/SourceLocatorProvider/DynamicSourceLocatorProvider.php',
|
||||
|
|
14
vendor/composer/autoload_real.php
vendored
14
vendor/composer/autoload_real.php
vendored
|
@ -2,7 +2,7 @@
|
|||
|
||||
// autoload_real.php @generated by Composer
|
||||
|
||||
class ComposerAutoloaderInited211136b2176d4962c85dca53c94647
|
||||
class ComposerAutoloaderInit6644991d8153f63a37b73dfa0ef3e4a4
|
||||
{
|
||||
private static $loader;
|
||||
|
||||
|
@ -22,19 +22,19 @@ class ComposerAutoloaderInited211136b2176d4962c85dca53c94647
|
|||
return self::$loader;
|
||||
}
|
||||
|
||||
spl_autoload_register(array('ComposerAutoloaderInited211136b2176d4962c85dca53c94647', 'loadClassLoader'), true, true);
|
||||
spl_autoload_register(array('ComposerAutoloaderInit6644991d8153f63a37b73dfa0ef3e4a4', 'loadClassLoader'), true, true);
|
||||
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
|
||||
spl_autoload_unregister(array('ComposerAutoloaderInited211136b2176d4962c85dca53c94647', 'loadClassLoader'));
|
||||
spl_autoload_unregister(array('ComposerAutoloaderInit6644991d8153f63a37b73dfa0ef3e4a4', 'loadClassLoader'));
|
||||
|
||||
require __DIR__ . '/autoload_static.php';
|
||||
call_user_func(\Composer\Autoload\ComposerStaticInited211136b2176d4962c85dca53c94647::getInitializer($loader));
|
||||
call_user_func(\Composer\Autoload\ComposerStaticInit6644991d8153f63a37b73dfa0ef3e4a4::getInitializer($loader));
|
||||
|
||||
$loader->setClassMapAuthoritative(true);
|
||||
$loader->register(true);
|
||||
|
||||
$includeFiles = \Composer\Autoload\ComposerStaticInited211136b2176d4962c85dca53c94647::$files;
|
||||
$includeFiles = \Composer\Autoload\ComposerStaticInit6644991d8153f63a37b73dfa0ef3e4a4::$files;
|
||||
foreach ($includeFiles as $fileIdentifier => $file) {
|
||||
composerRequireed211136b2176d4962c85dca53c94647($fileIdentifier, $file);
|
||||
composerRequire6644991d8153f63a37b73dfa0ef3e4a4($fileIdentifier, $file);
|
||||
}
|
||||
|
||||
return $loader;
|
||||
|
@ -46,7 +46,7 @@ class ComposerAutoloaderInited211136b2176d4962c85dca53c94647
|
|||
* @param string $file
|
||||
* @return void
|
||||
*/
|
||||
function composerRequireed211136b2176d4962c85dca53c94647($fileIdentifier, $file)
|
||||
function composerRequire6644991d8153f63a37b73dfa0ef3e4a4($fileIdentifier, $file)
|
||||
{
|
||||
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
|
||||
$GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
|
||||
|
|
12
vendor/composer/autoload_static.php
vendored
12
vendor/composer/autoload_static.php
vendored
|
@ -4,7 +4,7 @@
|
|||
|
||||
namespace Composer\Autoload;
|
||||
|
||||
class ComposerStaticInited211136b2176d4962c85dca53c94647
|
||||
class ComposerStaticInit6644991d8153f63a37b73dfa0ef3e4a4
|
||||
{
|
||||
public static $files = array (
|
||||
'0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php',
|
||||
|
@ -1638,7 +1638,6 @@ class ComposerStaticInited211136b2176d4962c85dca53c94647
|
|||
'Rector\\BetterPhpDocParser\\PhpDocManipulator\\VarAnnotationManipulator' => __DIR__ . '/../..' . '/packages/BetterPhpDocParser/PhpDocManipulator/VarAnnotationManipulator.php',
|
||||
'Rector\\BetterPhpDocParser\\PhpDocNodeFinder\\PhpDocNodeByTypeFinder' => __DIR__ . '/../..' . '/packages/BetterPhpDocParser/PhpDocNodeFinder/PhpDocNodeByTypeFinder.php',
|
||||
'Rector\\BetterPhpDocParser\\PhpDocNodeMapper' => __DIR__ . '/../..' . '/packages/BetterPhpDocParser/PhpDocNodeMapper.php',
|
||||
'Rector\\BetterPhpDocParser\\PhpDocNodeTraverser\\ChangedPhpDocNodeTraverserFactory' => __DIR__ . '/../..' . '/packages/BetterPhpDocParser/PhpDocNodeTraverser/ChangedPhpDocNodeTraverserFactory.php',
|
||||
'Rector\\BetterPhpDocParser\\PhpDocNodeVisitor\\ArrayTypePhpDocNodeVisitor' => __DIR__ . '/../..' . '/packages/BetterPhpDocParser/PhpDocNodeVisitor/ArrayTypePhpDocNodeVisitor.php',
|
||||
'Rector\\BetterPhpDocParser\\PhpDocNodeVisitor\\CallableTypePhpDocNodeVisitor' => __DIR__ . '/../..' . '/packages/BetterPhpDocParser/PhpDocNodeVisitor/CallableTypePhpDocNodeVisitor.php',
|
||||
'Rector\\BetterPhpDocParser\\PhpDocNodeVisitor\\ChangedPhpDocNodeVisitor' => __DIR__ . '/../..' . '/packages/BetterPhpDocParser/PhpDocNodeVisitor/ChangedPhpDocNodeVisitor.php',
|
||||
|
@ -2660,9 +2659,6 @@ class ComposerStaticInited211136b2176d4962c85dca53c94647
|
|||
'Rector\\NodeTypeResolver\\PhpDoc\\NodeAnalyzer\\DocBlockNameImporter' => __DIR__ . '/../..' . '/packages/NodeTypeResolver/PhpDoc/NodeAnalyzer/DocBlockNameImporter.php',
|
||||
'Rector\\NodeTypeResolver\\PhpDoc\\NodeAnalyzer\\DocBlockNamespaceRenamer' => __DIR__ . '/../..' . '/packages/NodeTypeResolver/PhpDoc/NodeAnalyzer/DocBlockNamespaceRenamer.php',
|
||||
'Rector\\NodeTypeResolver\\PhpDoc\\NodeAnalyzer\\DocBlockTagReplacer' => __DIR__ . '/../..' . '/packages/NodeTypeResolver/PhpDoc/NodeAnalyzer/DocBlockTagReplacer.php',
|
||||
'Rector\\NodeTypeResolver\\PhpDoc\\PhpDocNodeTraverser\\ImportingPhpDocNodeTraverserFactory' => __DIR__ . '/../..' . '/packages/NodeTypeResolver/PhpDoc/PhpDocNodeTraverser/ImportingPhpDocNodeTraverserFactory.php',
|
||||
'Rector\\NodeTypeResolver\\PhpDoc\\PhpDocNodeTraverser\\RenamingPhpDocNodeVisitorFactory' => __DIR__ . '/../..' . '/packages/NodeTypeResolver/PhpDoc/PhpDocNodeTraverser/RenamingPhpDocNodeVisitorFactory.php',
|
||||
'Rector\\NodeTypeResolver\\PhpDoc\\PhpDocNodeTraverser\\UnderscorePhpDocNodeTraverserFactory' => __DIR__ . '/../..' . '/packages/NodeTypeResolver/PhpDoc/PhpDocNodeTraverser/UnderscorePhpDocNodeTraverserFactory.php',
|
||||
'Rector\\NodeTypeResolver\\PhpDoc\\PhpDocTypeRenamer' => __DIR__ . '/../..' . '/packages/NodeTypeResolver/PhpDoc/PhpDocTypeRenamer.php',
|
||||
'Rector\\NodeTypeResolver\\Reflection\\BetterReflection\\RectorBetterReflectionSourceLocatorFactory' => __DIR__ . '/../..' . '/packages/NodeTypeResolver/Reflection/BetterReflection/RectorBetterReflectionSourceLocatorFactory.php',
|
||||
'Rector\\NodeTypeResolver\\Reflection\\BetterReflection\\SourceLocatorProvider\\DynamicSourceLocatorProvider' => __DIR__ . '/../..' . '/packages/NodeTypeResolver/Reflection/BetterReflection/SourceLocatorProvider/DynamicSourceLocatorProvider.php',
|
||||
|
@ -3795,9 +3791,9 @@ class ComposerStaticInited211136b2176d4962c85dca53c94647
|
|||
public static function getInitializer(ClassLoader $loader)
|
||||
{
|
||||
return \Closure::bind(function () use ($loader) {
|
||||
$loader->prefixLengthsPsr4 = ComposerStaticInited211136b2176d4962c85dca53c94647::$prefixLengthsPsr4;
|
||||
$loader->prefixDirsPsr4 = ComposerStaticInited211136b2176d4962c85dca53c94647::$prefixDirsPsr4;
|
||||
$loader->classMap = ComposerStaticInited211136b2176d4962c85dca53c94647::$classMap;
|
||||
$loader->prefixLengthsPsr4 = ComposerStaticInit6644991d8153f63a37b73dfa0ef3e4a4::$prefixLengthsPsr4;
|
||||
$loader->prefixDirsPsr4 = ComposerStaticInit6644991d8153f63a37b73dfa0ef3e4a4::$prefixDirsPsr4;
|
||||
$loader->classMap = ComposerStaticInit6644991d8153f63a37b73dfa0ef3e4a4::$classMap;
|
||||
|
||||
}, null, ClassLoader::class);
|
||||
}
|
||||
|
|
10
vendor/scoper-autoload.php
vendored
10
vendor/scoper-autoload.php
vendored
|
@ -9,8 +9,8 @@ $loader = require_once __DIR__.'/autoload.php';
|
|||
if (!class_exists('AutoloadIncluder', false) && !interface_exists('AutoloadIncluder', false) && !trait_exists('AutoloadIncluder', false)) {
|
||||
spl_autoload_call('RectorPrefix20220604\AutoloadIncluder');
|
||||
}
|
||||
if (!class_exists('ComposerAutoloaderInited211136b2176d4962c85dca53c94647', false) && !interface_exists('ComposerAutoloaderInited211136b2176d4962c85dca53c94647', false) && !trait_exists('ComposerAutoloaderInited211136b2176d4962c85dca53c94647', false)) {
|
||||
spl_autoload_call('RectorPrefix20220604\ComposerAutoloaderInited211136b2176d4962c85dca53c94647');
|
||||
if (!class_exists('ComposerAutoloaderInit6644991d8153f63a37b73dfa0ef3e4a4', false) && !interface_exists('ComposerAutoloaderInit6644991d8153f63a37b73dfa0ef3e4a4', false) && !trait_exists('ComposerAutoloaderInit6644991d8153f63a37b73dfa0ef3e4a4', false)) {
|
||||
spl_autoload_call('RectorPrefix20220604\ComposerAutoloaderInit6644991d8153f63a37b73dfa0ef3e4a4');
|
||||
}
|
||||
if (!class_exists('Helmich\TypoScriptParser\Parser\AST\Statement', false) && !interface_exists('Helmich\TypoScriptParser\Parser\AST\Statement', false) && !trait_exists('Helmich\TypoScriptParser\Parser\AST\Statement', false)) {
|
||||
spl_autoload_call('RectorPrefix20220604\Helmich\TypoScriptParser\Parser\AST\Statement');
|
||||
|
@ -59,9 +59,9 @@ if (!function_exists('print_node')) {
|
|||
return \RectorPrefix20220604\print_node(...func_get_args());
|
||||
}
|
||||
}
|
||||
if (!function_exists('composerRequireed211136b2176d4962c85dca53c94647')) {
|
||||
function composerRequireed211136b2176d4962c85dca53c94647() {
|
||||
return \RectorPrefix20220604\composerRequireed211136b2176d4962c85dca53c94647(...func_get_args());
|
||||
if (!function_exists('composerRequire6644991d8153f63a37b73dfa0ef3e4a4')) {
|
||||
function composerRequire6644991d8153f63a37b73dfa0ef3e4a4() {
|
||||
return \RectorPrefix20220604\composerRequire6644991d8153f63a37b73dfa0ef3e4a4(...func_get_args());
|
||||
}
|
||||
}
|
||||
if (!function_exists('scanPath')) {
|
||||
|
|
Loading…
Reference in New Issue
Block a user