Updated Rector to commit 138aa5ea68

138aa5ea68 Param doctype not copied to property in DowngradePropertyPromotionRector (#734)
This commit is contained in:
Tomas Votruba 2021-08-22 21:02:57 +00:00
parent 57ce6a840e
commit f791d9d767
82 changed files with 169 additions and 124 deletions

View File

@ -11,7 +11,8 @@ use Rector\Core\Console\ConsoleApplication;
use Rector\Core\Console\Style\SymfonyStyleFactory;
use Rector\Core\DependencyInjection\RectorContainerFactory;
use Rector\Core\HttpKernel\RectorKernel;
use RectorPrefix20210822\Symplify\PackageBuilder\Console\ShellCode;
use RectorPrefix20210822\Symfony\Component\Console\Command\Command;
use RectorPrefix20210822\Symfony\Component\Console\Input\ArgvInput;
use RectorPrefix20210822\Symplify\PackageBuilder\Reflection\PrivatesCaller;
// @ intentionally: continue anyway
@\ini_set('memory_limit', '-1');
@ -54,7 +55,7 @@ try {
$symfonyStyle = $symfonyStyleFactory->create();
$symfonyStyle->error($throwable->getMessage());
}
exit(\RectorPrefix20210822\Symplify\PackageBuilder\Console\ShellCode::ERROR);
exit(\RectorPrefix20210822\Symfony\Component\Console\Command\Command::FAILURE);
}
/** @var ConsoleApplication $application */
$application = $container->get(\Rector\Core\Console\ConsoleApplication::class);

View File

@ -28,7 +28,7 @@ final class PhpDocNodeMapper
*/
private $cloningPhpDocNodeVisitor;
/**
* @var mixed[]
* @var \Rector\BetterPhpDocParser\Contract\BasePhpDocNodeVisitorInterface[]
*/
private $phpDocNodeVisitors;
/**

View File

@ -15,7 +15,7 @@ final class PropertyType
*/
private $varType;
/**
* @var \PhpParser\Node|null
* @var \PhpParser\Node\Name|\PhpParser\Node\NullableType|PhpParserUnionType|null
*/
private $propertyTypeNode;
/**

View File

@ -25,7 +25,7 @@ final class FileFormatter
*/
private $parameterProvider;
/**
* @var mixed[]
* @var \Rector\FileFormatter\Contract\Formatter\FileFormatterInterface[]
*/
private $fileFormatters = [];
/**

View File

@ -13,7 +13,7 @@ final class AddedFileWithNodes implements \Rector\FileSystemRector\Contract\Adde
*/
private $filePath;
/**
* @var mixed[]
* @var \PhpParser\Node[]
*/
private $nodes;
/**

View File

@ -38,7 +38,7 @@ final class NodeNameResolver
*/
private $callAnalyzer;
/**
* @var mixed[]
* @var \Rector\NodeNameResolver\Contract\NodeNameResolverInterface[]
*/
private $nodeNameResolvers = [];
/**

View File

@ -16,7 +16,7 @@ use Rector\PHPStanStaticTypeMapper\ValueObject\TypeKind;
final class PHPStanStaticTypeMapper
{
/**
* @var mixed[]
* @var \Rector\PHPStanStaticTypeMapper\Contract\TypeMapperInterface[]
*/
private $typeMappers;
/**

View File

@ -9,7 +9,7 @@ use Rector\ReadWrite\Contract\ReadNodeAnalyzerInterface;
final class ReadExprAnalyzer
{
/**
* @var mixed[]
* @var \Rector\ReadWrite\Contract\ReadNodeAnalyzerInterface[]
*/
private $readNodeAnalyzers;
/**

View File

@ -15,7 +15,7 @@ use Rector\StaticTypeMapper\Contract\PhpParser\PhpParserNodeMapperInterface;
final class PhpParserNodeMapper
{
/**
* @var mixed[]
* @var \Rector\StaticTypeMapper\Contract\PhpParser\PhpParserNodeMapperInterface[]
*/
private $phpParserNodeMappers;
/**

View File

@ -15,7 +15,7 @@ use Rector\StaticTypeMapper\Contract\PhpDocParser\PhpDocTypeMapperInterface;
final class PhpDocTypeMapper
{
/**
* @var mixed[]
* @var \Rector\StaticTypeMapper\Contract\PhpDocParser\PhpDocTypeMapperInterface[]
*/
private $phpDocTypeMappers;
/**

View File

@ -9,7 +9,7 @@ use PHPStan\Type\Type;
final class ShortenedObjectType extends \PHPStan\Type\ObjectType
{
/**
* @var string
* @var class-string
*/
private $fullyQualifiedName;
/**

View File

@ -22,6 +22,9 @@ final class ArgumentAdder
* @var string|null
*/
private $argumentName;
/**
* @var mixed|null
*/
private $argumentDefaultValue = null;
/**
* @var string|null

View File

@ -10,7 +10,7 @@ final class SwapFuncCallArguments
*/
private $function;
/**
* @var mixed[]
* @var int[]
*/
private $order;
/**

View File

@ -103,10 +103,9 @@ CODE_SAMPLE
if ($defaultValue !== []) {
return \true;
}
/** @var Scope $scope */
$scope = $foreach->expr->getAttribute(\Rector\NodeTypeResolver\Node\AttributeKey::SCOPE);
if (!$scope instanceof \PHPStan\Analyser\Scope) {
return \false;
return \true;
}
$type = $scope->getType($foreach->expr);
if ($type instanceof \PHPStan\Type\ObjectType) {

View File

@ -14,7 +14,7 @@ use Rector\StaticTypeMapper\ValueObject\Type\FullyQualifiedObjectType;
final class ClassNameImportSkipper
{
/**
* @var mixed[]
* @var \Rector\CodingStyle\Contract\ClassNameImport\ClassNameImportSkipVoterInterface[]
*/
private $classNameImportSkipVoters;
/**

View File

@ -11,7 +11,7 @@ final class ConcatStringAndPlaceholders
*/
private $content;
/**
* @var mixed[]
* @var \PhpParser\Node\Expr[]
*/
private $placeholderNodes;
/**

View File

@ -9,7 +9,7 @@ use PhpParser\Node\Name;
final class NameAndParent
{
/**
* @var \PhpParser\Node
* @var \PhpParser\Node\Name|\PhpParser\Node\Identifier
*/
private $nameNode;
/**

View File

@ -22,7 +22,7 @@ final class ComposerFileProcessor implements \Rector\Core\Contract\Processor\Fil
*/
private $composerJsonPrinter;
/**
* @var mixed[]
* @var \Rector\Composer\Contract\Rector\ComposerRectorInterface[]
*/
private $composerRectors;
/**

View File

@ -12,7 +12,7 @@ final class AssignAndRootExprAndNodesToAdd
*/
private $assignAndRootExpr;
/**
* @var mixed[]
* @var \PhpParser\Node\Expr[]|\PhpParser\Node\Stmt\Return_[]
*/
private $nodesToAdd;
/**

View File

@ -11,7 +11,7 @@ final class FluentMethodCalls
*/
private $rootMethodCall;
/**
* @var mixed[]
* @var \PhpParser\Node\Expr\MethodCall[]
*/
private $fluentMethodCalls;
/**

View File

@ -11,7 +11,7 @@ final class NormalToFluent
*/
private $class;
/**
* @var mixed[]
* @var string[]
*/
private $methodNames;
/**

View File

@ -10,6 +10,8 @@ use PhpParser\Node\Stmt\Class_;
use PhpParser\Node\Stmt\ClassMethod;
use PhpParser\Node\Stmt\Expression;
use PhpParser\Node\Stmt\Property;
use PHPStan\Type\MixedType;
use Rector\BetterPhpDocParser\PhpDocManipulator\PhpDocTypeChanger;
use Rector\Core\NodeManipulator\ClassInsertManipulator;
use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\MethodName;
@ -27,9 +29,14 @@ final class DowngradePropertyPromotionRector extends \Rector\Core\Rector\Abstrac
* @var \Rector\Core\NodeManipulator\ClassInsertManipulator
*/
private $classInsertManipulator;
public function __construct(\Rector\Core\NodeManipulator\ClassInsertManipulator $classInsertManipulator)
/**
* @var \Rector\BetterPhpDocParser\PhpDocManipulator\PhpDocTypeChanger
*/
private $phpDocTypeChanger;
public function __construct(\Rector\Core\NodeManipulator\ClassInsertManipulator $classInsertManipulator, \Rector\BetterPhpDocParser\PhpDocManipulator\PhpDocTypeChanger $phpDocTypeChanger)
{
$this->classInsertManipulator = $classInsertManipulator;
$this->phpDocTypeChanger = $phpDocTypeChanger;
}
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
{
@ -166,6 +173,7 @@ CODE_SAMPLE
$property = $this->nodeFactory->createProperty($name);
$property->flags = $param->flags;
$property->type = $param->type;
$this->decoratePropertyWithParamDocInfo($param, $property);
if ($param->default !== null) {
$property->props[0]->default = $param->default;
}
@ -173,4 +181,23 @@ CODE_SAMPLE
}
return $properties;
}
private function decoratePropertyWithParamDocInfo(\PhpParser\Node\Param $param, \PhpParser\Node\Stmt\Property $property) : void
{
$constructor = $param->getAttribute(\Rector\NodeTypeResolver\Node\AttributeKey::METHOD_NODE);
$phpDocInfo = $this->phpDocInfoFactory->createFromNode($constructor);
if ($phpDocInfo === null) {
return;
}
$name = $this->getName($param->var);
if ($name === null) {
return;
}
$type = $phpDocInfo->getParamType($name);
// MixedType likely means there was no param type defined
if ($type instanceof \PHPStan\Type\MixedType) {
return;
}
$propertyDocInfo = $this->phpDocInfoFactory->createEmpty($property);
$this->phpDocTypeChanger->changeVarType($propertyDocInfo, $type);
}
}

View File

@ -6,11 +6,11 @@ namespace Rector\DowngradePhp80\ValueObject;
final class DowngradeAttributeToAnnotation
{
/**
* @var string
* @var class-string
*/
private $attributeClass;
/**
* @var string|null
* @var class-string|string|null
*/
private $tag;
/**

View File

@ -8,7 +8,7 @@ use Rector\Naming\Contract\RenameValueObjectInterface;
final class PropertyRenameGuard
{
/**
* @var mixed[]
* @var \Rector\Naming\Contract\Guard\ConflictingNameGuardInterface[]
*/
private $conflictingNameGuards;
/**

View File

@ -6,11 +6,11 @@ namespace Rector\Order\ValueObject;
final class SortedClassMethodsAndOriginalClassMethods
{
/**
* @var mixed[]
* @var string[]
*/
private $sortedClassMethods;
/**
* @var mixed[]
* @var string[]
*/
private $originalClassMethods;
/**

View File

@ -14,11 +14,11 @@ use PhpParser\Node\Expr\Variable;
final class VariableAssignPair
{
/**
* @var \PhpParser\Node
* @var \PhpParser\Node\Expr\Variable|\PhpParser\Node\Expr\ArrayDimFetch|\PhpParser\Node\Expr\PropertyFetch|\PhpParser\Node\Expr\StaticPropertyFetch
*/
private $variable;
/**
* @var \PhpParser\Node
* @var \PhpParser\Node\Expr\Assign|\PhpParser\Node\Expr\AssignOp|\PhpParser\Node\Expr\AssignRef
*/
private $assign;
/**

View File

@ -22,7 +22,7 @@ use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
final class StrStartsWithRector extends \Rector\Core\Rector\AbstractRector
{
/**
* @var mixed[]
* @var \Rector\Php80\Contract\StrStartWithMatchAndRefactorInterface[]
*/
private $strStartWithMatchAndRefactors;
/**

View File

@ -6,11 +6,11 @@ namespace Rector\Php80\ValueObject;
final class AnnotationToAttribute
{
/**
* @var string
* @var class-string|string
*/
private $tag;
/**
* @var string|null
* @var class-string
*/
private $attributeClass;
/**

View File

@ -8,7 +8,7 @@ use Rector\Php80\Enum\MatchKind;
final class CondAndExpr
{
/**
* @var mixed[]
* @var \PhpParser\Node\Expr[]
*/
private $condExprs;
/**

View File

@ -19,7 +19,7 @@ final class ReplaceStringWithClassConstant
*/
private $argPosition;
/**
* @var string
* @var class-string
*/
private $classWithConstants;
/**

View File

@ -10,7 +10,7 @@ final class RemoveFuncCall
*/
private $funcCall;
/**
* @var mixed[]
* @var array<int, mixed[]>
*/
private $argumentPositionAndValues = [];
/**

View File

@ -10,7 +10,7 @@ final class PseudoNamespaceToNamespace
*/
private $namespacePrefix;
/**
* @var mixed[]
* @var string[]
*/
private $excludedClasses = [];
/**

View File

@ -23,7 +23,7 @@ final class StaticCallToFuncCallRector extends \Rector\Core\Rector\AbstractRecto
*/
public const STATIC_CALLS_TO_FUNCTIONS = 'static_calls_to_functions';
/**
* @var mixed[]
* @var \Rector\Transform\ValueObject\StaticCallToFuncCall[]
*/
private $staticCallsToFunctions = [];
/**

View File

@ -7,7 +7,7 @@ use PHPStan\Type\ObjectType;
final class GetAndSetToMethodCall
{
/**
* @var string
* @var class-string
*/
private $classType;
/**

View File

@ -6,7 +6,7 @@ namespace Rector\Transform\ValueObject;
final class MethodCallToMethodCall
{
/**
* @var string
* @var class-string
*/
private $oldType;
/**
@ -14,7 +14,7 @@ final class MethodCallToMethodCall
*/
private $oldMethod;
/**
* @var string
* @var class-string
*/
private $newType;
/**

View File

@ -11,7 +11,7 @@ final class ParentClassToTraits
*/
private $parentType;
/**
* @var mixed[]
* @var string[]
*/
private $traitNames;
/**

View File

@ -15,7 +15,7 @@ final class ParamTypeInferer
*/
private $genericClassStringTypeNormalizer;
/**
* @var mixed[]
* @var \Rector\TypeDeclaration\Contract\TypeInferer\ParamTypeInfererInterface[]
*/
private $paramTypeInferers;
/**

View File

@ -34,7 +34,7 @@ final class ApplicationFileProcessor
*/
private $symfonyStyle;
/**
* @var mixed[]
* @var \Rector\Core\Contract\Processor\FileProcessorInterface[]
*/
private $fileProcessors = [];
/**

View File

@ -5,8 +5,8 @@ namespace Rector\Core\Application;
use DateTime;
use Rector\Core\Exception\VersionException;
use RectorPrefix20210822\Symfony\Component\Console\Command\Command;
use RectorPrefix20210822\Symfony\Component\Process\Process;
use RectorPrefix20210822\Symplify\PackageBuilder\Console\ShellCode;
/**
* Inspired by https://github.com/composer/composer/blob/master/src/Composer/Composer.php
* See https://github.com/composer/composer/blob/6587715d0f8cae0cd39073b3bc5f018d0e6b84fe/src/Composer/Compiler.php#L208
@ -16,15 +16,15 @@ final class VersionResolver
/**
* @var string
*/
public const PACKAGE_VERSION = '974d5ee3478058d94c59c54918d445a94228bf77';
public const PACKAGE_VERSION = '138aa5ea681111d2da5b712580b56eafc35863ba';
/**
* @var string
*/
public const RELEASE_DATE = '2021-08-22 19:47:44';
public const RELEASE_DATE = '2021-08-22 22:52:44';
public static function resolvePackageVersion() : string
{
$process = new \RectorPrefix20210822\Symfony\Component\Process\Process(['git', 'log', '--pretty="%H"', '-n1', 'HEAD'], __DIR__);
if ($process->run() !== \RectorPrefix20210822\Symplify\PackageBuilder\Console\ShellCode::SUCCESS) {
if ($process->run() !== \RectorPrefix20210822\Symfony\Component\Console\Command\Command::SUCCESS) {
throw new \Rector\Core\Exception\VersionException('You must ensure to run compile from composer git repository clone and that git binary is available.');
}
$version = \trim($process->getOutput());
@ -33,7 +33,7 @@ final class VersionResolver
public static function resolverReleaseDateTime() : \DateTime
{
$process = new \RectorPrefix20210822\Symfony\Component\Process\Process(['git', 'log', '-n1', '--pretty=%ci', 'HEAD'], __DIR__);
if ($process->run() !== \RectorPrefix20210822\Symplify\PackageBuilder\Console\ShellCode::SUCCESS) {
if ($process->run() !== \RectorPrefix20210822\Symfony\Component\Console\Command\Command::SUCCESS) {
throw new \Rector\Core\Exception\VersionException('You must ensure to run compile from composer git repository clone and that git binary is available.');
}
return new \DateTime(\trim($process->getOutput()));

View File

@ -13,7 +13,6 @@ use RectorPrefix20210822\Symfony\Component\Console\Input\InputInterface;
use RectorPrefix20210822\Symfony\Component\Console\Input\InputOption;
use RectorPrefix20210822\Symfony\Component\Console\Output\OutputInterface;
use RectorPrefix20210822\Symfony\Component\Console\Style\SymfonyStyle;
use RectorPrefix20210822\Symplify\PackageBuilder\Console\ShellCode;
use RectorPrefix20210822\Symplify\SmartFileSystem\FileSystemGuard;
use RectorPrefix20210822\Symplify\SmartFileSystem\SmartFileSystem;
final class InitCommand extends \RectorPrefix20210822\Symfony\Component\Console\Command\Command
@ -31,7 +30,7 @@ final class InitCommand extends \RectorPrefix20210822\Symfony\Component\Console\
*/
private $symfonyStyle;
/**
* @var mixed[]
* @var \Rector\Core\Contract\Template\TemplateResolverInterface[]
*/
private $templateResolvers;
/**
@ -67,7 +66,7 @@ final class InitCommand extends \RectorPrefix20210822\Symfony\Component\Console\
$this->smartFileSystem->copy($rectorTemplateFilePath, $rectorRootFilePath);
$this->symfonyStyle->success('"rector.php" config file was added');
}
return \RectorPrefix20210822\Symplify\PackageBuilder\Console\ShellCode::SUCCESS;
return \RectorPrefix20210822\Symfony\Component\Console\Command\Command::SUCCESS;
}
private function resolveTemplateFilePathByType(string $templateType) : string
{

View File

@ -28,7 +28,6 @@ use RectorPrefix20210822\Symfony\Component\Console\Input\InputArgument;
use RectorPrefix20210822\Symfony\Component\Console\Input\InputInterface;
use RectorPrefix20210822\Symfony\Component\Console\Input\InputOption;
use RectorPrefix20210822\Symfony\Component\Console\Output\OutputInterface;
use RectorPrefix20210822\Symplify\PackageBuilder\Console\ShellCode;
final class ProcessCommand extends \RectorPrefix20210822\Symfony\Component\Console\Command\Command
{
/**
@ -80,7 +79,7 @@ final class ProcessCommand extends \RectorPrefix20210822\Symfony\Component\Conso
*/
private $missedRectorDueVersionChecker;
/**
* @var mixed[]
* @var \Rector\Core\Contract\Rector\RectorInterface[]
*/
private $rectors;
/**
@ -185,13 +184,13 @@ final class ProcessCommand extends \RectorPrefix20210822\Symfony\Component\Conso
{
// some errors were found → fail
if ($processResult->getErrors() !== []) {
return \RectorPrefix20210822\Symplify\PackageBuilder\Console\ShellCode::ERROR;
return \RectorPrefix20210822\Symfony\Component\Console\Command\Command::FAILURE;
}
// inverse error code for CI dry-run
if (!$configuration->isDryRun()) {
return \RectorPrefix20210822\Symplify\PackageBuilder\Console\ShellCode::SUCCESS;
return \RectorPrefix20210822\Symfony\Component\Console\Command\Command::SUCCESS;
}
return $processResult->getFileDiffs() === [] ? \RectorPrefix20210822\Symplify\PackageBuilder\Console\ShellCode::SUCCESS : \RectorPrefix20210822\Symplify\PackageBuilder\Console\ShellCode::ERROR;
return $processResult->getFileDiffs() === [] ? \RectorPrefix20210822\Symfony\Component\Console\Command\Command::SUCCESS : \RectorPrefix20210822\Symfony\Component\Console\Command\Command::FAILURE;
}
/**
* @param File[] $files

View File

@ -14,7 +14,6 @@ use RectorPrefix20210822\Symfony\Component\Console\Command\Command;
use RectorPrefix20210822\Symfony\Component\Console\Input\InputInterface;
use RectorPrefix20210822\Symfony\Component\Console\Input\InputOption;
use RectorPrefix20210822\Symfony\Component\Console\Output\OutputInterface;
use RectorPrefix20210822\Symplify\PackageBuilder\Console\ShellCode;
final class ShowCommand extends \RectorPrefix20210822\Symfony\Component\Console\Command\Command
{
/**
@ -26,7 +25,7 @@ final class ShowCommand extends \RectorPrefix20210822\Symfony\Component\Console\
*/
private $showOutputFormatterCollector;
/**
* @var mixed[]
* @var \Rector\Core\Contract\Rector\RectorInterface[]
*/
private $rectors;
/**
@ -54,7 +53,7 @@ final class ShowCommand extends \RectorPrefix20210822\Symfony\Component\Console\
{
$outputFormat = (string) $input->getOption(\Rector\Core\Configuration\Option::OUTPUT_FORMAT);
$this->reportLoadedRectors($outputFormat);
return \RectorPrefix20210822\Symplify\PackageBuilder\Console\ShellCode::SUCCESS;
return \RectorPrefix20210822\Symfony\Component\Console\Command\Command::SUCCESS;
}
private function reportLoadedRectors(string $outputFormat) : void
{

View File

@ -7,6 +7,15 @@ use Rector\Caching\UnchangedFilesFilter;
use Symplify\SmartFileSystem\SmartFileInfo;
final class PhpFilesFinder
{
/**
* @var string[]
*/
private const NON_PHP_FILE_EXTENSIONS = [
// Laravel
'.blade.php',
// Smarty
'.tpl',
];
/**
* @var \Rector\Core\FileSystem\FilesFinder
*/
@ -27,10 +36,16 @@ final class PhpFilesFinder
public function findInPaths(array $paths) : array
{
$phpFileInfos = $this->filesFinder->findInDirectoriesAndFiles($paths);
// filter out non-PHP php files, e.g. blade templates in Laravel
$phpFileInfos = \array_filter($phpFileInfos, function (\Symplify\SmartFileSystem\SmartFileInfo $smartFileInfo) : bool {
return \substr_compare($smartFileInfo->getPathname(), '.blade.php', -\strlen('.blade.php')) !== 0;
});
// filter out non-PHP files
foreach ($phpFileInfos as $key => $phpFileInfo) {
$pathName = $phpFileInfo->getPathname();
foreach (self::NON_PHP_FILE_EXTENSIONS as $nonPHPFileExtension) {
if (\substr_compare($pathName, $nonPHPFileExtension, -\strlen($nonPHPFileExtension)) === 0) {
unset($phpFileInfos[$key]);
continue 2;
}
}
}
return $this->unchangedFilesFilter->filterAndJoinWithDependentFileInfos($phpFileInfos);
}
}

View File

@ -36,7 +36,7 @@ final class RectorKernel extends \RectorPrefix20210822\Symfony\Component\HttpKer
*/
private $configureCallValuesCollector;
/**
* @var mixed[]
* @var \Symplify\SmartFileSystem\SmartFileInfo[]
*/
private $configFileInfos;
/**

View File

@ -11,7 +11,7 @@ use Rector\Core\ValueObject\StaticNonPhpFileSuffixes;
final class NonPhpFileProcessor implements \Rector\Core\Contract\Processor\FileProcessorInterface
{
/**
* @var mixed[]
* @var \Rector\Core\Contract\Rector\NonPhpRectorInterface[]
*/
private $nonPhpRectors;
/**

View File

@ -11,7 +11,7 @@ use Rector\Core\Contract\PHPStan\Reflection\TypeToCallReflectionResolver\TypeToC
final class TypeToCallReflectionResolverRegistry
{
/**
* @var mixed[]
* @var \Rector\Core\Contract\PHPStan\Reflection\TypeToCallReflectionResolver\TypeToCallReflectionResolverInterface[]
*/
private $resolvers;
/**

View File

@ -11,7 +11,7 @@ use PhpParser\NodeAbstract;
final class FileWithoutNamespace extends \PhpParser\NodeAbstract
{
/**
* @var mixed[]
* @var \PhpParser\Node\Stmt[]
*/
public $stmts;
/**

View File

@ -17,7 +17,7 @@ final class RectorNodeTraverser extends \PhpParser\NodeTraverser
*/
private $areNodeVisitorsPrepared = \false;
/**
* @var mixed[]
* @var \Rector\Core\Contract\Rector\PhpRectorInterface[]
*/
private $phpRectors;
/**

View File

@ -6,12 +6,12 @@ namespace Rector\Core\Reporting;
use Rector\Core\Contract\Rector\RectorInterface;
use Rector\PostRector\Contract\Rector\ComplementaryRectorInterface;
use Rector\PostRector\Contract\Rector\PostRectorInterface;
use RectorPrefix20210822\Symfony\Component\Console\Command\Command;
use RectorPrefix20210822\Symfony\Component\Console\Style\SymfonyStyle;
use RectorPrefix20210822\Symplify\PackageBuilder\Console\ShellCode;
final class MissingRectorRulesReporter
{
/**
* @var mixed[]
* @var \Rector\Core\Contract\Rector\RectorInterface[]
*/
private $rectors;
/**
@ -38,7 +38,7 @@ final class MissingRectorRulesReporter
return null;
}
$this->report();
return \RectorPrefix20210822\Symplify\PackageBuilder\Console\ShellCode::ERROR;
return \RectorPrefix20210822\Symfony\Component\Console\Command\Command::FAILURE;
}
public function report() : void
{

View File

@ -11,7 +11,7 @@ final class BootstrapConfigs
*/
private $mainConfigFileInfo;
/**
* @var mixed[]
* @var \Symplify\SmartFileSystem\SmartFileInfo[]
*/
private $setConfigFileInfos;
/**

View File

@ -27,11 +27,11 @@ final class Configuration
*/
private $outputFormat = \Rector\ChangesReporting\Output\ConsoleOutputFormatter::NAME;
/**
* @var mixed[]
* @var string[]
*/
private $fileExtensions = ['php'];
/**
* @var mixed[]
* @var string[]
*/
private $paths = [];
/**

View File

@ -21,7 +21,7 @@ final class FileDiff
*/
private $diffConsoleFormatted;
/**
* @var mixed[]
* @var \Rector\ChangesReporting\ValueObject\RectorWithLineChange[]
*/
private $rectorWithLineChanges = [];
/**

View File

@ -12,7 +12,7 @@ final class SprintfStringAndArgs
*/
private $string;
/**
* @var mixed[]
* @var \PhpParser\Node\Expr[]
*/
private $arrayItems;
/**

View File

@ -22,7 +22,7 @@ final class FileFactory
*/
private $changedFilesDetector;
/**
* @var mixed[]
* @var \Rector\Core\Contract\Processor\FileProcessorInterface[]
*/
private $fileProcessors;
/**

2
vendor/autoload.php vendored
View File

@ -4,4 +4,4 @@
require_once __DIR__ . '/composer/autoload_real.php';
return ComposerAutoloaderInit27350d25d3f2fd1ecf0752cb4ea215b4::getLoader();
return ComposerAutoloaderInit27c429e3a45b065c36f0445ab5b93838::getLoader();

View File

@ -2,7 +2,7 @@
// autoload_real.php @generated by Composer
class ComposerAutoloaderInit27350d25d3f2fd1ecf0752cb4ea215b4
class ComposerAutoloaderInit27c429e3a45b065c36f0445ab5b93838
{
private static $loader;
@ -22,15 +22,15 @@ class ComposerAutoloaderInit27350d25d3f2fd1ecf0752cb4ea215b4
return self::$loader;
}
spl_autoload_register(array('ComposerAutoloaderInit27350d25d3f2fd1ecf0752cb4ea215b4', 'loadClassLoader'), true, true);
spl_autoload_register(array('ComposerAutoloaderInit27c429e3a45b065c36f0445ab5b93838', 'loadClassLoader'), true, true);
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__)));
spl_autoload_unregister(array('ComposerAutoloaderInit27350d25d3f2fd1ecf0752cb4ea215b4', 'loadClassLoader'));
spl_autoload_unregister(array('ComposerAutoloaderInit27c429e3a45b065c36f0445ab5b93838', 'loadClassLoader'));
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
if ($useStaticLoader) {
require __DIR__ . '/autoload_static.php';
call_user_func(\Composer\Autoload\ComposerStaticInit27350d25d3f2fd1ecf0752cb4ea215b4::getInitializer($loader));
call_user_func(\Composer\Autoload\ComposerStaticInit27c429e3a45b065c36f0445ab5b93838::getInitializer($loader));
} else {
$classMap = require __DIR__ . '/autoload_classmap.php';
if ($classMap) {
@ -42,19 +42,19 @@ class ComposerAutoloaderInit27350d25d3f2fd1ecf0752cb4ea215b4
$loader->register(true);
if ($useStaticLoader) {
$includeFiles = Composer\Autoload\ComposerStaticInit27350d25d3f2fd1ecf0752cb4ea215b4::$files;
$includeFiles = Composer\Autoload\ComposerStaticInit27c429e3a45b065c36f0445ab5b93838::$files;
} else {
$includeFiles = require __DIR__ . '/autoload_files.php';
}
foreach ($includeFiles as $fileIdentifier => $file) {
composerRequire27350d25d3f2fd1ecf0752cb4ea215b4($fileIdentifier, $file);
composerRequire27c429e3a45b065c36f0445ab5b93838($fileIdentifier, $file);
}
return $loader;
}
}
function composerRequire27350d25d3f2fd1ecf0752cb4ea215b4($fileIdentifier, $file)
function composerRequire27c429e3a45b065c36f0445ab5b93838($fileIdentifier, $file)
{
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
require $file;

View File

@ -4,7 +4,7 @@
namespace Composer\Autoload;
class ComposerStaticInit27350d25d3f2fd1ecf0752cb4ea215b4
class ComposerStaticInit27c429e3a45b065c36f0445ab5b93838
{
public static $files = array (
'a4a119a56e50fbb293281d9a48007e0e' => __DIR__ . '/..' . '/symfony/polyfill-php80/bootstrap.php',
@ -3853,9 +3853,9 @@ class ComposerStaticInit27350d25d3f2fd1ecf0752cb4ea215b4
public static function getInitializer(ClassLoader $loader)
{
return \Closure::bind(function () use ($loader) {
$loader->prefixLengthsPsr4 = ComposerStaticInit27350d25d3f2fd1ecf0752cb4ea215b4::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticInit27350d25d3f2fd1ecf0752cb4ea215b4::$prefixDirsPsr4;
$loader->classMap = ComposerStaticInit27350d25d3f2fd1ecf0752cb4ea215b4::$classMap;
$loader->prefixLengthsPsr4 = ComposerStaticInit27c429e3a45b065c36f0445ab5b93838::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticInit27c429e3a45b065c36f0445ab5b93838::$prefixDirsPsr4;
$loader->classMap = ComposerStaticInit27c429e3a45b065c36f0445ab5b93838::$classMap;
}, null, ClassLoader::class);
}

View File

@ -8,11 +8,11 @@ use PhpParser\Node\Expr\ArrayItem;
final class ArrayItemsAndFluentClass
{
/**
* @var mixed[]
* @var \PhpParser\Node\Expr\ArrayItem[]
*/
private $arrayItems;
/**
* @var mixed[]
* @var array<string, \PhpParser\Node\Expr>
*/
private $fluentCalls;
/**

View File

@ -10,7 +10,7 @@ final class ArrayToFluentCall
*/
private $class;
/**
* @var mixed[]
* @var array<string, string>
*/
private $arrayKeysToFluentCalls;
/**

View File

@ -6,11 +6,11 @@ namespace Rector\Doctrine\ValueObject;
final class OptionalAndRequiredParamNames
{
/**
* @var mixed[]
* @var string[]
*/
private $optionalParamNames;
/**
* @var mixed[]
* @var string[]
*/
private $requiredParamNames;
/**

View File

@ -7,7 +7,7 @@ use Rector\BetterPhpDocParser\PhpDocInfo\PhpDocInfo;
final class PropertyNamesAndPhpDocInfos
{
/**
* @var mixed[]
* @var \Rector\Doctrine\ValueObject\PropertyNameAndPhpDocInfo[]
*/
private $propertyNameAndPhpDocInfos;
/**

View File

@ -10,7 +10,7 @@ use Rector\Nette\Contract\Rector\LatteRectorInterface;
final class LatteFileProcessor implements \Rector\Core\Contract\Processor\FileProcessorInterface
{
/**
* @var mixed[]
* @var \Rector\Nette\Contract\Rector\LatteRectorInterface[]
*/
private $latteRectors;
/**

View File

@ -10,7 +10,7 @@ use Rector\Nette\Contract\Rector\NeonRectorInterface;
final class NeonFileProcessor implements \Rector\Core\Contract\Processor\FileProcessorInterface
{
/**
* @var mixed[]
* @var \Rector\Nette\Contract\Rector\NeonRectorInterface[]
*/
private $neonRectors;
/**

View File

@ -34,11 +34,11 @@ final class EventAndListenerTree
*/
private $eventDispatcherDispatchMethodCall;
/**
* @var mixed[]
* @var array<class-string, \PhpParser\Node\Stmt\ClassMethod[]>
*/
private $listenerMethodsByEventSubscriberClass;
/**
* @var mixed[]
* @var \Rector\Nette\Kdyby\ValueObject\GetterMethodBlueprint[]
*/
private $getterMethodBlueprints;
/**

View File

@ -19,6 +19,9 @@ final class VariableWithType
* @var \PHPStan\Type\Type
*/
private $type;
/**
* @var \PhpParser\Node\Identifier|\PhpParser\Node\Name|\PhpParser\Node\NullableType|\PhpParser\Node\UnionType|null
*/
private $phpParserTypeNode;
/**
* @param Identifier|Name|NullableType|UnionType|null $phpParserTypeNode

View File

@ -8,11 +8,11 @@ use Rector\Nette\Contract\ValueObject\ParameterArrayInterface;
final class TemplateParametersAssigns implements \Rector\Nette\Contract\ValueObject\ParameterArrayInterface
{
/**
* @var mixed[]
* @var \Rector\Nette\ValueObject\AlwaysTemplateParameterAssign[]
*/
private $templateParameterAssigns;
/**
* @var mixed[]
* @var \Rector\Nette\ValueObject\ConditionalTemplateParameterAssign[]
*/
private $conditionalTemplateParameterAssign;
/**

View File

@ -11,7 +11,7 @@ final class DataProviderClassMethodRecipe
*/
private $methodName;
/**
* @var mixed[]
* @var \PhpParser\Node\Arg[]
*/
private $args;
/**

View File

@ -11,11 +11,11 @@ use PhpParser\Node\Stmt\Expression;
final class ExpectationMock
{
/**
* @var \PhpParser\Node\Expr
* @var \PhpParser\Node\Expr\Variable|\PhpParser\Node\Expr\PropertyFetch
*/
private $expectationVariable;
/**
* @var mixed[]
* @var \PhpParser\Node\Arg[]
*/
private $methodArguments;
/**
@ -27,7 +27,7 @@ final class ExpectationMock
*/
private $expr;
/**
* @var mixed[]
* @var \PhpParser\Node\Expr[]|null[]
*/
private $withArguments;
/**

View File

@ -27,7 +27,7 @@ final class ServiceDefinition
*/
private $alias;
/**
* @var mixed[]
* @var \Rector\Symfony\Contract\Tag\TagInterface[]
*/
private $tags;
/**

View File

@ -9,7 +9,7 @@ use Rector\Symfony\ValueObject\ServiceDefinition;
final class ServiceMap
{
/**
* @var mixed[]
* @var \Rector\Symfony\ValueObject\ServiceDefinition[]
*/
private $services;
/**

View File

@ -11,7 +11,7 @@ final class Tag implements \Rector\Symfony\Contract\Tag\TagInterface
*/
private $name;
/**
* @var mixed[]
* @var array<string, mixed>
*/
private $data = [];
/**

View File

@ -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('RectorPrefix20210822\AutoloadIncluder');
}
if (!class_exists('ComposerAutoloaderInit27350d25d3f2fd1ecf0752cb4ea215b4', false) && !interface_exists('ComposerAutoloaderInit27350d25d3f2fd1ecf0752cb4ea215b4', false) && !trait_exists('ComposerAutoloaderInit27350d25d3f2fd1ecf0752cb4ea215b4', false)) {
spl_autoload_call('RectorPrefix20210822\ComposerAutoloaderInit27350d25d3f2fd1ecf0752cb4ea215b4');
if (!class_exists('ComposerAutoloaderInit27c429e3a45b065c36f0445ab5b93838', false) && !interface_exists('ComposerAutoloaderInit27c429e3a45b065c36f0445ab5b93838', false) && !trait_exists('ComposerAutoloaderInit27c429e3a45b065c36f0445ab5b93838', false)) {
spl_autoload_call('RectorPrefix20210822\ComposerAutoloaderInit27c429e3a45b065c36f0445ab5b93838');
}
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('RectorPrefix20210822\Helmich\TypoScriptParser\Parser\AST\Statement');
@ -3308,9 +3308,9 @@ if (!function_exists('print_node')) {
return \RectorPrefix20210822\print_node(...func_get_args());
}
}
if (!function_exists('composerRequire27350d25d3f2fd1ecf0752cb4ea215b4')) {
function composerRequire27350d25d3f2fd1ecf0752cb4ea215b4() {
return \RectorPrefix20210822\composerRequire27350d25d3f2fd1ecf0752cb4ea215b4(...func_get_args());
if (!function_exists('composerRequire27c429e3a45b065c36f0445ab5b93838')) {
function composerRequire27c429e3a45b065c36f0445ab5b93838() {
return \RectorPrefix20210822\composerRequire27c429e3a45b065c36f0445ab5b93838(...func_get_args());
}
}
if (!function_exists('parseArgs')) {

View File

@ -16,7 +16,7 @@ use UnexpectedValueException;
final class FlexFormsProcessor implements \Rector\Core\Contract\Processor\FileProcessorInterface
{
/**
* @var mixed[]
* @var \Ssch\TYPO3Rector\Contract\FileProcessor\FlexForms\Rector\FlexFormRectorInterface[]
*/
private $flexFormRectors;
/**

View File

@ -13,7 +13,7 @@ use Ssch\TYPO3Rector\Contract\FileProcessor\Fluid\Rector\FluidRectorInterface;
final class FluidFileProcessor implements \Rector\Core\Contract\Processor\FileProcessorInterface
{
/**
* @var mixed[]
* @var \Ssch\TYPO3Rector\Contract\FileProcessor\Fluid\Rector\FluidRectorInterface[]
*/
private $fluidRectors;
/**

View File

@ -26,7 +26,7 @@ final class IconsFileProcessor implements \Rector\Core\Contract\Processor\FilePr
*/
private $smartFileSystem;
/**
* @var mixed[]
* @var \Ssch\TYPO3Rector\Contract\FileProcessor\Resources\IconRectorInterface[]
*/
private $iconsRector;
/**

View File

@ -23,7 +23,7 @@ final class OldConditionToExpressionLanguageTypoScriptRector extends \Ssch\TYPO3
*/
private $currentFileProvider;
/**
* @var mixed[]
* @var \Ssch\TYPO3Rector\Contract\FileProcessor\TypoScript\Conditions\TyposcriptConditionMatcher[]
*/
private $conditionMatchers = [];
/**

View File

@ -66,7 +66,7 @@ final class TypoScriptFileProcessor implements \Ssch\TYPO3Rector\Contract\Proces
*/
private $rectorOutputStyle;
/**
* @var mixed[]
* @var \Ssch\TYPO3Rector\Contract\FileProcessor\TypoScript\TypoScriptRectorInterface[]
*/
private $typoScriptRectors = [];
/**

View File

@ -23,7 +23,7 @@ final class FormYamlFileProcessor implements \Rector\Core\Contract\Processor\Fil
*/
private $currentFileProvider;
/**
* @var mixed[]
* @var \Ssch\TYPO3Rector\Contract\FileProcessor\Yaml\Form\FormYamlRectorInterface[]
*/
private $transformer;
/**

View File

@ -22,7 +22,7 @@ final class DatabaseConnectionToDbalRector extends \Rector\Core\Rector\AbstractR
*/
private $typo3NodeResolver;
/**
* @var mixed[]
* @var \Ssch\TYPO3Rector\Contract\Helper\Database\Refactorings\DatabaseConnectionToDbalRefactoring[]
*/
private $databaseConnectionRefactorings;
/**

View File

@ -23,7 +23,7 @@ final class SimpleNameResolver
*/
private const ANONYMOUS_CLASS_REGEX = '#^AnonymousClass[\\w+]#';
/**
* @var mixed[]
* @var \Symplify\Astral\Contract\NodeNameResolverInterface[]
*/
private $nodeNameResolvers;
/**

View File

@ -8,7 +8,7 @@ use RectorPrefix20210822\Symfony\Component\DependencyInjection\ContainerBuilder;
final class AutowireInterfacesCompilerPass implements \RectorPrefix20210822\Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface
{
/**
* @var mixed[]
* @var string[]
*/
private $typesToAutowire;
/**

View File

@ -15,7 +15,7 @@ final class Skipper
*/
private const FILE_ELEMENT = 'file_elements';
/**
* @var mixed[]
* @var \Symplify\Skipper\Contract\SkipVoterInterface[]
*/
private $skipVoters;
/**