Updated Rector to commit e525dad6ab

e525dad6ab [PHPStan 1.0] Use Nette filesystem over phpstan filewriter (#1115)
This commit is contained in:
Tomas Votruba 2021-10-30 14:18:31 +00:00
parent 87204a6592
commit a94a50e863
168 changed files with 374 additions and 450 deletions

View File

@ -49,7 +49,7 @@ final class PhpDocFromTypeDeclarationDecorator
$this->typeUnwrapper = $typeUnwrapper;
}
/**
* @param \PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_|\PhpParser\Node\Expr\Closure $functionLike
* @param \PhpParser\Node\Expr\Closure|\PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_ $functionLike
*/
public function decorate($functionLike) : void
{
@ -63,7 +63,7 @@ final class PhpDocFromTypeDeclarationDecorator
}
/**
* @param array<class-string<Type>> $requiredTypes
* @param \PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_|\PhpParser\Node\Expr\Closure $functionLike
* @param \PhpParser\Node\Expr\Closure|\PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_ $functionLike
*/
public function decorateParam(\PhpParser\Node\Param $param, $functionLike, array $requiredTypes) : void
{
@ -77,7 +77,7 @@ final class PhpDocFromTypeDeclarationDecorator
$this->moveParamTypeToParamDoc($functionLike, $param, $type);
}
/**
* @param \PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_|\PhpParser\Node\Expr\Closure $functionLike
* @param \PhpParser\Node\Expr\Closure|\PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_ $functionLike
*/
public function decorateParamWithSpecificType(\PhpParser\Node\Param $param, $functionLike, \PHPStan\Type\Type $requireType) : void
{
@ -92,7 +92,7 @@ final class PhpDocFromTypeDeclarationDecorator
}
/**
* @return bool True if node was changed
* @param \PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_|\PhpParser\Node\Expr\Closure $functionLike
* @param \PhpParser\Node\Expr\Closure|\PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_ $functionLike
*/
public function decorateReturnWithSpecificType($functionLike, \PHPStan\Type\Type $requireType) : bool
{
@ -118,7 +118,7 @@ final class PhpDocFromTypeDeclarationDecorator
return \get_class($returnType) === \get_class($requireType);
}
/**
* @param \PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_|\PhpParser\Node\Expr\Closure $functionLike
* @param \PhpParser\Node\Expr\Closure|\PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_ $functionLike
*/
private function moveParamTypeToParamDoc($functionLike, \PhpParser\Node\Param $param, \PHPStan\Type\Type $type) : void
{

View File

@ -47,7 +47,7 @@ final class StaticDoctrineAnnotationParser
}
/**
* @see https://github.com/doctrine/annotations/blob/c66f06b7c83e9a2a7523351a9d5a4b55f885e574/lib/Doctrine/Common/Annotations/DocParser.php#L1215-L1224
* @return \Rector\BetterPhpDocParser\ValueObject\PhpDoc\DoctrineAnnotation\CurlyListNode|string|mixed[]|\PHPStan\PhpDocParser\Ast\ConstExpr\ConstExprNode|\Rector\BetterPhpDocParser\PhpDoc\DoctrineAnnotationTagValueNode
* @return mixed[]|\PHPStan\PhpDocParser\Ast\ConstExpr\ConstExprNode|\Rector\BetterPhpDocParser\PhpDoc\DoctrineAnnotationTagValueNode|\Rector\BetterPhpDocParser\ValueObject\PhpDoc\DoctrineAnnotation\CurlyListNode|string
*/
public function resolveAnnotationValue(\Rector\BetterPhpDocParser\ValueObject\Parser\BetterTokenIterator $tokenIterator)
{
@ -98,7 +98,7 @@ final class StaticDoctrineAnnotationParser
return $values;
}
/**
* @return \Rector\BetterPhpDocParser\ValueObject\PhpDoc\DoctrineAnnotation\CurlyListNode|string|mixed[]|\PHPStan\PhpDocParser\Ast\ConstExpr\ConstExprNode|\Rector\BetterPhpDocParser\PhpDoc\DoctrineAnnotationTagValueNode
* @return mixed[]|\PHPStan\PhpDocParser\Ast\ConstExpr\ConstExprNode|\Rector\BetterPhpDocParser\PhpDoc\DoctrineAnnotationTagValueNode|\Rector\BetterPhpDocParser\ValueObject\PhpDoc\DoctrineAnnotation\CurlyListNode|string
*/
private function parseValue(\Rector\BetterPhpDocParser\ValueObject\Parser\BetterTokenIterator $tokenIterator)
{

View File

@ -50,7 +50,7 @@ final class PlainValueParser
$this->arrayParser = $arrayParser;
}
/**
* @return string|mixed[]|\PHPStan\PhpDocParser\Ast\ConstExpr\ConstExprNode|\Rector\BetterPhpDocParser\PhpDoc\DoctrineAnnotationTagValueNode
* @return mixed[]|\PHPStan\PhpDocParser\Ast\ConstExpr\ConstExprNode|\Rector\BetterPhpDocParser\PhpDoc\DoctrineAnnotationTagValueNode|string
*/
public function parseValue(\Rector\BetterPhpDocParser\ValueObject\Parser\BetterTokenIterator $tokenIterator)
{

View File

@ -67,7 +67,7 @@ abstract class AbstractValuesAwareNode implements \PHPStan\PhpDocParser\Ast\PhpD
}
/**
* @return mixed|Node|null
* @param string|int $key
* @param int|string $key
*/
public function getValue($key)
{
@ -95,7 +95,7 @@ abstract class AbstractValuesAwareNode implements \PHPStan\PhpDocParser\Ast\PhpD
}
/**
* @return mixed|null
* @param string|int $key
* @param int|string $key
*/
public function getValueWithoutQuotes($key)
{

View File

@ -4,8 +4,8 @@ declare (strict_types=1);
namespace Rector\Caching\ValueObject\Storage;
use FilesystemIterator;
use RectorPrefix20211030\Nette\Utils\FileSystem;
use RectorPrefix20211030\Nette\Utils\Random;
use PHPStan\File\FileWriter;
use Rector\Caching\Contract\ValueObject\Storage\CacheStorageInterface;
use Rector\Caching\ValueObject\CacheFilePaths;
use Rector\Caching\ValueObject\CacheItem;
@ -70,7 +70,7 @@ final class FileCacheStorage implements \Rector\Caching\Contract\ValueObject\Sto
throw new \RectorPrefix20211030\Symplify\EasyCodingStandard\Caching\Exception\CachingException(\sprintf('Error occurred while saving item %s (%s) to cache: %s', $key, $variableKey, $errorAfter['message']));
}
// for performance reasons we don't use SmartFileSystem
\PHPStan\File\FileWriter::write($tmpPath, \sprintf("<?php declare(strict_types = 1);\n\nreturn %s;", $exported));
\RectorPrefix20211030\Nette\Utils\FileSystem::write($tmpPath, \sprintf("<?php declare(strict_types = 1);\n\nreturn %s;", $exported));
$renameSuccess = @\rename($tmpPath, $path);
if ($renameSuccess) {
return;

View File

@ -130,7 +130,7 @@ final class FamilyRelationsAnalyzer
}
/**
* @return string[]
* @param \PhpParser\Node\Stmt\Class_|\PhpParser\Node\Stmt\Interface_|\PhpParser\Node\Name $classOrName
* @param \PhpParser\Node\Name|\PhpParser\Node\Stmt\Class_|\PhpParser\Node\Stmt\Interface_ $classOrName
*/
public function getClassLikeAncestorNames($classOrName) : array
{

View File

@ -53,7 +53,7 @@ final class ArrayCallableMethodMatcher
* Returns ArrayCallableDynamicMethod object when unknown method of callable used, eg: [$this, $other]
* @see https://github.com/rectorphp/rector-src/pull/908
* @see https://github.com/rectorphp/rector-src/pull/909
* @return null|\Rector\NodeCollector\ValueObject\ArrayCallableDynamicMethod|\Rector\NodeCollector\ValueObject\ArrayCallable
* @return \Rector\NodeCollector\ValueObject\ArrayCallable|\Rector\NodeCollector\ValueObject\ArrayCallableDynamicMethod|null
*/
public function match(\PhpParser\Node\Expr\Array_ $array)
{

View File

@ -65,7 +65,7 @@ final class NodeNameResolver
return \false;
}
/**
* @param \PhpParser\Node|mixed[] $node
* @param mixed[]|\PhpParser\Node $node
*/
public function isName($node, string $name) : bool
{
@ -185,7 +185,7 @@ final class NodeNameResolver
return (bool) \RectorPrefix20211030\Nette\Utils\Strings::match($currentName, $suffixNamePattern);
}
/**
* @param string|\PhpParser\Node\Name|\PhpParser\Node\Identifier|\PhpParser\Node\Stmt\ClassLike $name
* @param \PhpParser\Node\Identifier|\PhpParser\Node\Name|\PhpParser\Node\Stmt\ClassLike|string $name
*/
public function getShortName($name) : string
{

View File

@ -20,7 +20,7 @@ final class ParentScopeFinder
$this->parentFinder = $parentFinder;
}
/**
* @return \PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_|\PhpParser\Node\Stmt\Class_|\PhpParser\Node\Stmt\Namespace_|\PhpParser\Node\Expr\Closure|null
* @return \PhpParser\Node\Expr\Closure|\PhpParser\Node\Stmt\Class_|\PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_|\PhpParser\Node\Stmt\Namespace_|null
*/
public function find(\PhpParser\Node $node)
{

View File

@ -9,7 +9,7 @@ use PHPStan\Type\Type;
final class AccessoryNonEmptyStringTypeCorrector
{
/**
* @return \PHPStan\Type\Type|\PHPStan\Type\IntersectionType
* @return \PHPStan\Type\IntersectionType|\PHPStan\Type\Type
*/
public function correct(\PHPStan\Type\Type $mainType)
{

View File

@ -12,7 +12,7 @@ use PHPStan\Type\StringType;
final class IdentifierTypeResolver
{
/**
* @return \PHPStan\Type\StringType|\PHPStan\Type\BooleanType|\PHPStan\Type\IntegerType|\PHPStan\Type\FloatType|\PHPStan\Type\MixedType
* @return \PHPStan\Type\BooleanType|\PHPStan\Type\FloatType|\PHPStan\Type\IntegerType|\PHPStan\Type\MixedType|\PHPStan\Type\StringType
*/
public function resolve(\PhpParser\Node\Identifier $identifier)
{

View File

@ -12,12 +12,12 @@ use PHPStan\Type\MixedType;
use PHPStan\Type\ObjectType;
use PHPStan\Type\ObjectWithoutClassType;
use PHPStan\Type\Type;
use PHPStan\Type\UnionType;
use Rector\Core\Enum\ObjectReference;
use Rector\Core\NodeAnalyzer\ClassAnalyzer;
use Rector\NodeNameResolver\NodeNameResolver;
use Rector\NodeTypeResolver\Contract\NodeTypeResolverInterface;
use Rector\NodeTypeResolver\Node\AttributeKey;
use Rector\StaticTypeMapper\TypeFactory\UnionTypeFactory;
use Rector\StaticTypeMapper\ValueObject\Type\FullyQualifiedObjectType;
final class NewTypeResolver implements \Rector\NodeTypeResolver\Contract\NodeTypeResolverInterface
{
@ -29,15 +29,10 @@ final class NewTypeResolver implements \Rector\NodeTypeResolver\Contract\NodeTyp
* @var \Rector\Core\NodeAnalyzer\ClassAnalyzer
*/
private $classAnalyzer;
/**
* @var \Rector\StaticTypeMapper\TypeFactory\UnionTypeFactory
*/
private $unionTypeFactory;
public function __construct(\Rector\NodeNameResolver\NodeNameResolver $nodeNameResolver, \Rector\Core\NodeAnalyzer\ClassAnalyzer $classAnalyzer, \Rector\StaticTypeMapper\TypeFactory\UnionTypeFactory $unionTypeFactory)
public function __construct(\Rector\NodeNameResolver\NodeNameResolver $nodeNameResolver, \Rector\Core\NodeAnalyzer\ClassAnalyzer $classAnalyzer)
{
$this->nodeNameResolver = $nodeNameResolver;
$this->classAnalyzer = $classAnalyzer;
$this->unionTypeFactory = $unionTypeFactory;
}
/**
* @return array<class-string<Node>>
@ -85,7 +80,7 @@ final class NewTypeResolver implements \Rector\NodeTypeResolver\Contract\NodeTyp
$types[] = new \Rector\StaticTypeMapper\ValueObject\Type\FullyQualifiedObjectType($parentClass);
}
if (\count($types) > 1) {
$unionType = $this->unionTypeFactory->createUnionObjectType($types);
$unionType = new \PHPStan\Type\UnionType($types);
return new \PHPStan\Type\ObjectWithoutClassType($unionType);
}
if (\count($types) === 1) {

View File

@ -49,7 +49,7 @@ final class RemoveDeepChainMethodCallNodeVisitor extends \PhpParser\NodeVisitorA
return null;
}
/**
* @return \PhpParser\Node\Stmt\Nop|\PhpParser\Node
* @return \PhpParser\Node|\PhpParser\Node\Stmt\Nop
*/
public function leaveNode(\PhpParser\Node $node)
{

View File

@ -17,21 +17,16 @@ use PHPStan\Type\ObjectType;
use PHPStan\Type\StringType;
use PHPStan\Type\Type;
use PHPStan\Type\TypeUtils;
use PHPStan\Type\UnionType;
use Rector\NodeTypeResolver\PHPStan\TypeHasher;
use Rector\StaticTypeMapper\TypeFactory\UnionTypeFactory;
final class TypeFactory
{
/**
* @var \Rector\StaticTypeMapper\TypeFactory\UnionTypeFactory
*/
private $unionTypeFactory;
/**
* @var \Rector\NodeTypeResolver\PHPStan\TypeHasher
*/
private $typeHasher;
public function __construct(\Rector\StaticTypeMapper\TypeFactory\UnionTypeFactory $unionTypeFactory, \Rector\NodeTypeResolver\PHPStan\TypeHasher $typeHasher)
public function __construct(\Rector\NodeTypeResolver\PHPStan\TypeHasher $typeHasher)
{
$this->unionTypeFactory = $unionTypeFactory;
$this->typeHasher = $typeHasher;
}
/**
@ -113,7 +108,7 @@ final class TypeFactory
if (\count($types) === 1) {
return $types[0];
}
return $this->unionTypeFactory->createUnionObjectType($types);
return new \PHPStan\Type\UnionType($types);
}
private function removeValueFromConstantType(\PHPStan\Type\Type $type) : \PHPStan\Type\Type
{

View File

@ -14,7 +14,6 @@ use PHPStan\Type\Type;
use PHPStan\Type\TypeTraverser;
use PHPStan\Type\TypeWithClassName;
use PHPStan\Type\UnionType;
use PHPStan\Type\UnionTypeHelper;
use PHPStan\Type\VerbosityLevel;
use Rector\StaticTypeMapper\ValueObject\Type\AliasedObjectType;
use Rector\StaticTypeMapper\ValueObject\Type\FullyQualifiedObjectType;
@ -70,13 +69,11 @@ final class TypeHasher
}
private function createUnionTypeHash(\PHPStan\Type\UnionType $unionType) : string
{
$sortedTypes = \PHPStan\Type\UnionTypeHelper::sortTypes($unionType->getTypes());
$sortedUnionType = new \PHPStan\Type\UnionType($sortedTypes);
$booleanType = new \PHPStan\Type\BooleanType();
if ($booleanType->isSuperTypeOf($unionType)->yes()) {
return $booleanType->describe(\PHPStan\Type\VerbosityLevel::precise());
}
$normalizedUnionType = clone $sortedUnionType;
$normalizedUnionType = clone $unionType;
// change alias to non-alias
$normalizedUnionType = \PHPStan\Type\TypeTraverser::map($normalizedUnionType, function (\PHPStan\Type\Type $type, callable $callable) : Type {
if (!$type instanceof \Rector\StaticTypeMapper\ValueObject\Type\AliasedObjectType && !$type instanceof \Rector\StaticTypeMapper\ValueObject\Type\ShortenedObjectType) {

View File

@ -55,7 +55,7 @@ final class UnionTypeCommonTypeNarrower
return null;
}
/**
* @return \PHPStan\Type\UnionType|\PHPStan\Type\Generic\GenericClassStringType
* @return \PHPStan\Type\Generic\GenericClassStringType|\PHPStan\Type\UnionType
*/
public function narrowToGenericClassStringType(\PHPStan\Type\UnionType $unionType)
{

View File

@ -214,7 +214,7 @@ final class ArrayTypeMapper implements \Rector\PHPStanStaticTypeMapper\Contract\
return null;
}
/**
* @return \PHPStan\PhpDocParser\Ast\Type\IdentifierTypeNode|\PHPStan\PhpDocParser\Ast\Type\GenericTypeNode
* @return \PHPStan\PhpDocParser\Ast\Type\GenericTypeNode|\PHPStan\PhpDocParser\Ast\Type\IdentifierTypeNode
*/
private function createTypeNodeFromGenericClassStringType(\PHPStan\Type\Generic\GenericClassStringType $genericClassStringType, \Rector\PHPStanStaticTypeMapper\Enum\TypeKind $typeKind)
{

View File

@ -255,7 +255,7 @@ final class UnionTypeMapper implements \Rector\PHPStanStaticTypeMapper\Contract\
return new \PhpParser\Node\UnionType($phpParserUnionedTypes);
}
/**
* @return \PHPStan\Type\UnionType|\PHPStan\Type\TypeWithClassName|null
* @return \PHPStan\Type\TypeWithClassName|\PHPStan\Type\UnionType|null
*/
private function resolveCompatibleObjectCandidate(\PHPStan\Type\UnionType $unionType)
{

View File

@ -7,17 +7,8 @@ use PHPStan\Type\Type;
use PHPStan\Type\TypeCombinator;
use PHPStan\Type\TypeWithClassName;
use PHPStan\Type\UnionType;
use Rector\StaticTypeMapper\TypeFactory\UnionTypeFactory;
final class TypeUnwrapper
{
/**
* @var \Rector\StaticTypeMapper\TypeFactory\UnionTypeFactory
*/
private $unionTypeFactory;
public function __construct(\Rector\StaticTypeMapper\TypeFactory\UnionTypeFactory $unionTypeFactory)
{
$this->unionTypeFactory = $unionTypeFactory;
}
/**
* E.g. null|ClassType ClassType
*/
@ -47,6 +38,6 @@ final class TypeUnwrapper
}
$unionedTypesWithoutNullType[] = $type;
}
return $this->unionTypeFactory->createUnionObjectType($unionedTypesWithoutNullType);
return new \PHPStan\Type\UnionType($unionedTypesWithoutNullType);
}
}

View File

@ -17,7 +17,7 @@ final class ValueNormalizer
{
/**
* @param mixed $value
* @return bool|float|int|string|mixed[]|\PhpParser\Node\Expr
* @return mixed[]|bool|float|int|\PhpParser\Node\Expr|string
*/
public function normalize($value)
{

View File

@ -35,7 +35,7 @@ final class UseNodesToAddCollector implements \Rector\PostRector\Contract\Collec
return $this->useImportTypesInFilePath !== [] || $this->functionUseImportTypesInFilePath !== [];
}
/**
* @param \Rector\StaticTypeMapper\ValueObject\Type\FullyQualifiedObjectType|\Rector\StaticTypeMapper\ValueObject\Type\AliasedObjectType $objectType
* @param \Rector\StaticTypeMapper\ValueObject\Type\AliasedObjectType|\Rector\StaticTypeMapper\ValueObject\Type\FullyQualifiedObjectType $objectType
*/
public function addUseImport($objectType) : void
{

View File

@ -6,14 +6,14 @@ namespace Rector\ReadWrite\Guard;
use PhpParser\Node\Arg;
use PhpParser\Node\Expr\FuncCall;
use PhpParser\Node\Name;
use PHPStan\Analyser\Scope;
use PHPStan\Reflection\FunctionReflection;
use PHPStan\Reflection\Native\NativeFunctionReflection;
use PHPStan\Reflection\ParameterReflection;
use PHPStan\Reflection\ParametersAcceptorSelector;
use PHPStan\Reflection\ReflectionProvider;
use Rector\Core\Exception\ShouldNotHappenException;
use Rector\NodeNameResolver\NodeNameResolver;
use Rector\NodeTypeResolver\Node\AttributeKey;
use ReflectionFunction;
use RectorPrefix20211030\Symplify\PackageBuilder\Reflection\PrivatesAccessor;
final class VariableToConstantGuard
{
/**
@ -28,15 +28,10 @@ final class VariableToConstantGuard
* @var \PHPStan\Reflection\ReflectionProvider
*/
private $reflectionProvider;
/**
* @var \Symplify\PackageBuilder\Reflection\PrivatesAccessor
*/
private $privatesAccessor;
public function __construct(\Rector\NodeNameResolver\NodeNameResolver $nodeNameResolver, \PHPStan\Reflection\ReflectionProvider $reflectionProvider, \RectorPrefix20211030\Symplify\PackageBuilder\Reflection\PrivatesAccessor $privatesAccessor)
public function __construct(\Rector\NodeNameResolver\NodeNameResolver $nodeNameResolver, \PHPStan\Reflection\ReflectionProvider $reflectionProvider)
{
$this->nodeNameResolver = $nodeNameResolver;
$this->reflectionProvider = $reflectionProvider;
$this->privatesAccessor = $privatesAccessor;
}
public function isReadArg(\PhpParser\Node\Arg $arg) : bool
{
@ -55,7 +50,7 @@ final class VariableToConstantGuard
return \true;
}
$functionReflection = $this->reflectionProvider->getFunction($functionName, $argScope);
$referenceParametersPositions = $this->resolveFunctionReferencePositions($functionReflection);
$referenceParametersPositions = $this->resolveFunctionReferencePositions($functionReflection, [$arg], $argScope);
if ($referenceParametersPositions === []) {
// no reference always only write
return \true;
@ -64,31 +59,21 @@ final class VariableToConstantGuard
return !\in_array($argumentPosition, $referenceParametersPositions, \true);
}
/**
* @param Arg[] $args
* @return int[]
*/
private function resolveFunctionReferencePositions(\PHPStan\Reflection\FunctionReflection $functionReflection) : array
private function resolveFunctionReferencePositions(\PHPStan\Reflection\FunctionReflection $functionReflection, array $args, \PHPStan\Analyser\Scope $scope) : array
{
if (isset($this->referencePositionsByFunctionName[$functionReflection->getName()])) {
return $this->referencePositionsByFunctionName[$functionReflection->getName()];
}
// this is needed, as native function reflection does not have access to referenced parameters
if ($functionReflection instanceof \PHPStan\Reflection\Native\NativeFunctionReflection) {
$functionName = $functionReflection->getName();
if (!\function_exists($functionName)) {
return [];
}
$nativeFunctionReflection = new \ReflectionFunction($functionName);
} else {
$nativeFunctionReflection = $this->privatesAccessor->getPrivateProperty($functionReflection, 'reflection');
}
$referencePositions = [];
foreach ($nativeFunctionReflection->getParameters() as $position => $reflectionParameter) {
if (!$reflectionParameter->isPassedByReference()) {
$parametersAcceptor = \PHPStan\Reflection\ParametersAcceptorSelector::selectFromArgs($scope, $args, $functionReflection->getVariants());
foreach ($parametersAcceptor->getParameters() as $position => $parameterReflection) {
/** @var ParameterReflection $parameterReflection */
if (!$parameterReflection->passedByReference()->yes()) {
continue;
}
if (!\is_int($position)) {
throw new \Rector\Core\Exception\ShouldNotHappenException();
}
$referencePositions[] = $position;
}
$this->referencePositionsByFunctionName[$functionReflection->getName()] = $referencePositions;

View File

@ -100,7 +100,7 @@ final class IdentifierTypeMapper implements \Rector\StaticTypeMapper\Contract\Ph
return new \Rector\StaticTypeMapper\ValueObject\Type\SelfObjectType($className);
}
/**
* @return \Rector\StaticTypeMapper\ValueObject\Type\ParentStaticType|\PHPStan\Type\MixedType
* @return \PHPStan\Type\MixedType|\Rector\StaticTypeMapper\ValueObject\Type\ParentStaticType
*/
private function mapParent(\PHPStan\Analyser\Scope $scope)
{

View File

@ -71,7 +71,7 @@ final class NameNodeMapper implements \Rector\StaticTypeMapper\Contract\PhpParse
return \in_array($name, $oldToNewClasses, \true);
}
/**
* @return \PHPStan\Type\MixedType|\PHPStan\Type\StaticType|\PHPStan\Type\ObjectWithoutClassType
* @return \PHPStan\Type\MixedType|\PHPStan\Type\ObjectWithoutClassType|\PHPStan\Type\StaticType
*/
private function createClassReferenceType(\PhpParser\Node\Name $name, string $reference)
{
@ -93,7 +93,7 @@ final class NameNodeMapper implements \Rector\StaticTypeMapper\Contract\PhpParse
return new \PHPStan\Type\ThisType($classReflection);
}
/**
* @return \PHPStan\Type\ArrayType|\PHPStan\Type\IntegerType|\PHPStan\Type\FloatType|\PHPStan\Type\StringType|\PHPStan\Type\Constant\ConstantBooleanType|\PHPStan\Type\BooleanType|\PHPStan\Type\MixedType
* @return \PHPStan\Type\ArrayType|\PHPStan\Type\BooleanType|\PHPStan\Type\Constant\ConstantBooleanType|\PHPStan\Type\FloatType|\PHPStan\Type\IntegerType|\PHPStan\Type\MixedType|\PHPStan\Type\StringType
*/
private function createScalarType(string $name)
{

View File

@ -1,30 +0,0 @@
<?php
declare (strict_types=1);
namespace Rector\StaticTypeMapper\TypeFactory;
use PHPStan\Type\ObjectType;
use PHPStan\Type\Type;
use PHPStan\Type\UnionType;
use ReflectionClass;
use RectorPrefix20211030\Symplify\PackageBuilder\Reflection\PrivatesAccessor;
final class UnionTypeFactory
{
/**
* @param string[]|Type[] $types
*/
public function createUnionObjectType(array $types) : \PHPStan\Type\UnionType
{
$objectTypes = [];
foreach ($types as $type) {
$objectTypes[] = $type instanceof \PHPStan\Type\Type ? $type : new \PHPStan\Type\ObjectType($type);
}
// this is needed to prevent missing broker static fatal error, for tests with missing class
$reflectionClass = new \ReflectionClass(\PHPStan\Type\UnionType::class);
/** @var UnionType $unionType */
$unionType = $reflectionClass->newInstanceWithoutConstructor();
$privatesAccessor = new \RectorPrefix20211030\Symplify\PackageBuilder\Reflection\PrivatesAccessor();
$privatesAccessor->setPrivateProperty($unionType, 'types', $objectTypes);
return $unionType;
}
}

View File

@ -32,7 +32,7 @@ final class ArgumentDefaultValueReplacer
$this->valueResolver = $valueResolver;
}
/**
* @param \PhpParser\Node\Expr\MethodCall|\PhpParser\Node\Expr\StaticCall|\PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Expr\FuncCall $node
* @param \PhpParser\Node\Expr\FuncCall|\PhpParser\Node\Expr\MethodCall|\PhpParser\Node\Expr\StaticCall|\PhpParser\Node\Stmt\ClassMethod $node
*/
public function processReplaces($node, \Rector\Arguments\Contract\ReplaceArgumentDefaultValueInterface $replaceArgumentDefaultValue) : ?\PhpParser\Node
{
@ -75,7 +75,7 @@ final class ArgumentDefaultValueReplacer
return $classMethod;
}
/**
* @param \PhpParser\Node\Expr\MethodCall|\PhpParser\Node\Expr\StaticCall|\PhpParser\Node\Expr\FuncCall $expr
* @param \PhpParser\Node\Expr\FuncCall|\PhpParser\Node\Expr\MethodCall|\PhpParser\Node\Expr\StaticCall $expr
*/
private function processArgs($expr, \Rector\Arguments\Contract\ReplaceArgumentDefaultValueInterface $replaceArgumentDefaultValue) : ?\PhpParser\Node\Expr
{
@ -103,7 +103,7 @@ final class ArgumentDefaultValueReplacer
}
/**
* @param mixed $value
* @return \PhpParser\Node\Expr\ClassConstFetch|\PhpParser\Node\Expr
* @return \PhpParser\Node\Expr|\PhpParser\Node\Expr\ClassConstFetch
*/
private function normalizeValue($value)
{

View File

@ -143,7 +143,7 @@ CODE_SAMPLE
return $this->isObjectType($classLike, $objectType);
}
/**
* @param \PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Expr\MethodCall|\PhpParser\Node\Expr\StaticCall $node
* @param \PhpParser\Node\Expr\MethodCall|\PhpParser\Node\Expr\StaticCall|\PhpParser\Node\Stmt\ClassMethod $node
*/
private function processPositionWithDefaultValues($node, \Rector\Arguments\ValueObject\ArgumentAdder $argumentAdder) : void
{
@ -167,7 +167,7 @@ CODE_SAMPLE
}
}
/**
* @param \PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Expr\MethodCall|\PhpParser\Node\Expr\StaticCall $node
* @param \PhpParser\Node\Expr\MethodCall|\PhpParser\Node\Expr\StaticCall|\PhpParser\Node\Stmt\ClassMethod $node
*/
private function shouldSkipParameter($node, \Rector\Arguments\ValueObject\ArgumentAdder $argumentAdder) : bool
{

View File

@ -167,7 +167,7 @@ CODE_SAMPLE
return $this->valueResolver->isTrueOrFalse($ifStatment->expr);
}
/**
* @param \PhpParser\Node\Expr\BinaryOp\Identical|\PhpParser\Node\Expr\BinaryOp\Equal $binaryOp
* @param \PhpParser\Node\Expr\BinaryOp\Equal|\PhpParser\Node\Expr\BinaryOp\Identical $binaryOp
*/
private function createInArrayFunction(\PhpParser\Node\Expr $expr, $binaryOp, \PhpParser\Node\Stmt\Foreach_ $foreach) : \PhpParser\Node\Expr\FuncCall
{

View File

@ -152,7 +152,7 @@ CODE_SAMPLE
return null;
}
/**
* @return \PhpParser\Node\Expr\BinaryOp\Identical|\PhpParser\Node\Expr\BinaryOp\Greater
* @return \PhpParser\Node\Expr\BinaryOp\Greater|\PhpParser\Node\Expr\BinaryOp\Identical
*/
private function resolveCount(bool $isNegated, \PhpParser\Node\Expr\FuncCall $funcCall)
{
@ -179,7 +179,7 @@ CODE_SAMPLE
return new \PhpParser\Node\Expr\BinaryOp\NotIdentical($expr, $array);
}
/**
* @return \PhpParser\Node\Expr\BinaryOp\Identical|\PhpParser\Node\Expr\BinaryOp\NotIdentical|\PhpParser\Node\Expr\BinaryOp\BooleanAnd|\PhpParser\Node\Expr\BinaryOp\BooleanOr
* @return \PhpParser\Node\Expr\BinaryOp\BooleanAnd|\PhpParser\Node\Expr\BinaryOp\BooleanOr|\PhpParser\Node\Expr\BinaryOp\Identical|\PhpParser\Node\Expr\BinaryOp\NotIdentical
*/
private function resolveString(bool $isNegated, \PhpParser\Node\Expr $expr)
{

View File

@ -153,7 +153,7 @@ CODE_SAMPLE
return !$this->nodeComparator->areNodesEqual($if->cond->vars[0], $firstElseStmt->expr->var);
}
/**
* @param \PhpParser\Node\Stmt\If_|\PhpParser\Node\Stmt\Else_ $node
* @param \PhpParser\Node\Stmt\Else_|\PhpParser\Node\Stmt\If_ $node
*/
private function hasOnlyStatementAssign($node) : bool
{

View File

@ -47,7 +47,7 @@ CODE_SAMPLE
return $this->refactorLogicalToBoolean($node);
}
/**
* @param \PhpParser\Node\Expr\BinaryOp\LogicalOr|\PhpParser\Node\Expr\BinaryOp\LogicalAnd $node
* @param \PhpParser\Node\Expr\BinaryOp\LogicalAnd|\PhpParser\Node\Expr\BinaryOp\LogicalOr $node
* @return \PhpParser\Node\Expr\BinaryOp\BooleanAnd|\PhpParser\Node\Expr\BinaryOp\BooleanOr
*/
private function refactorLogicalToBoolean($node)

View File

@ -151,7 +151,7 @@ CODE_SAMPLE
return !$phpDocInfo->getVarType() instanceof \PHPStan\Type\MixedType;
}
/**
* @param \PhpParser\Node\Expr\AssignOp|\PhpParser\Node\Expr\Assign $previousNode
* @param \PhpParser\Node\Expr\Assign|\PhpParser\Node\Expr\AssignOp $previousNode
*/
private function isPreviousExpressionVisuallySimilar(\PhpParser\Node\Stmt\Expression $previousExpression, $previousNode) : bool
{

View File

@ -19,7 +19,7 @@ final class ClassNaming
*/
private const INPUT_HASH_NAMING_REGEX = '#input_(.*?)_#';
/**
* @param string|\PhpParser\Node\Name|\PhpParser\Node\Identifier $name
* @param \PhpParser\Node\Identifier|\PhpParser\Node\Name|string $name
*/
public function getVariableName($name) : string
{
@ -27,7 +27,7 @@ final class ClassNaming
return \lcfirst($shortName);
}
/**
* @param string|\PhpParser\Node\Name|\PhpParser\Node\Identifier|\PhpParser\Node\Stmt\ClassLike $name
* @param \PhpParser\Node\Identifier|\PhpParser\Node\Name|\PhpParser\Node\Stmt\ClassLike|string $name
*/
public function getShortName($name) : string
{

View File

@ -72,7 +72,7 @@ final class NameRenamer
}
}
/**
* @param \PhpParser\Node\Name|\PhpParser\Node\Identifier $usedNameNode
* @param \PhpParser\Node\Identifier|\PhpParser\Node\Name $usedNameNode
*/
private function renameClassConstFetch(string $lastName, \PhpParser\Node\Expr\ClassConstFetch $classConstFetch, $usedNameNode) : void
{
@ -82,7 +82,7 @@ final class NameRenamer
$classConstFetch->class = new \PhpParser\Node\Name($lastName);
}
/**
* @param \PhpParser\Node\Name|\PhpParser\Node\Identifier $usedNameNode
* @param \PhpParser\Node\Identifier|\PhpParser\Node\Name $usedNameNode
*/
private function renameInInstanceOf(string $lastName, \PhpParser\Node\Expr\Instanceof_ $instanceof, $usedNameNode) : void
{
@ -92,7 +92,7 @@ final class NameRenamer
$instanceof->class = new \PhpParser\Node\Name($lastName);
}
/**
* @param \PhpParser\Node\Name|\PhpParser\Node\Identifier $usedNameNode
* @param \PhpParser\Node\Identifier|\PhpParser\Node\Name $usedNameNode
*/
private function renameNullableType(string $lastName, \PhpParser\Node\NullableType $nullableType, $usedNameNode) : void
{
@ -102,7 +102,7 @@ final class NameRenamer
$nullableType->type = new \PhpParser\Node\Name($lastName);
}
/**
* @param \PhpParser\Node\Name|\PhpParser\Node\Identifier $usedNameNode
* @param \PhpParser\Node\Identifier|\PhpParser\Node\Name $usedNameNode
*/
private function renameTraitUse(string $lastName, \PhpParser\Node\Stmt\TraitUse $traitUse, $usedNameNode) : void
{
@ -114,7 +114,7 @@ final class NameRenamer
}
}
/**
* @param \PhpParser\Node\Name|\PhpParser\Node\Identifier $usedNameNode
* @param \PhpParser\Node\Identifier|\PhpParser\Node\Name $usedNameNode
*/
private function renameClass(string $lastName, \PhpParser\Node\Stmt\Class_ $class, $usedNameNode) : void
{
@ -131,7 +131,7 @@ final class NameRenamer
}
}
/**
* @param \PhpParser\Node\Name|\PhpParser\Node\Identifier $usedNameNode
* @param \PhpParser\Node\Identifier|\PhpParser\Node\Name $usedNameNode
*/
private function renameParam(string $lastName, \PhpParser\Node\Param $param, $usedNameNode) : void
{
@ -159,7 +159,7 @@ final class NameRenamer
}
}
/**
* @param \PhpParser\Node\Name|\PhpParser\Node\Identifier $usedNameNode
* @param \PhpParser\Node\Identifier|\PhpParser\Node\Name $usedNameNode
*/
private function renameNew(string $lastName, \PhpParser\Node\Expr\New_ $new, $usedNameNode) : void
{
@ -168,7 +168,7 @@ final class NameRenamer
}
}
/**
* @param \PhpParser\Node\Name|\PhpParser\Node\Identifier $usedNameNode
* @param \PhpParser\Node\Identifier|\PhpParser\Node\Name $usedNameNode
*/
private function renameClassMethod(string $lastName, \PhpParser\Node\Stmt\ClassMethod $classMethod, $usedNameNode) : void
{
@ -181,7 +181,7 @@ final class NameRenamer
$classMethod->returnType = new \PhpParser\Node\Name($lastName);
}
/**
* @param \PhpParser\Node\Name|\PhpParser\Node\Identifier $usedNameNode
* @param \PhpParser\Node\Identifier|\PhpParser\Node\Name $usedNameNode
*/
private function renameInterface(string $lastName, \PhpParser\Node\Stmt\Interface_ $interface, $usedNameNode) : void
{

View File

@ -14,7 +14,7 @@ final class SpreadVariablesCollector
{
/**
* @return array<int, ParameterReflection>
* @param \PHPStan\Reflection\MethodReflection|\PHPStan\Reflection\FunctionReflection $functionLikeReflection
* @param \PHPStan\Reflection\FunctionReflection|\PHPStan\Reflection\MethodReflection $functionLikeReflection
*/
public function resolveFromMethodReflection($functionLikeReflection) : array
{

View File

@ -78,7 +78,7 @@ CODE_SAMPLE
return \Rector\Core\ValueObject\PhpVersionFeature::VARIADIC_PARAM;
}
/**
* @param \PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_|\PhpParser\Node\Expr\Closure $node
* @param \PhpParser\Node\Expr\Closure|\PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_ $node
*/
private function applyVariadicParams($node, \PhpParser\Node\Expr\Assign $assign, string $variableName) : ?\PhpParser\Node
{
@ -91,7 +91,7 @@ CODE_SAMPLE
return $node;
}
/**
* @param \PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_|\PhpParser\Node\Expr\Closure $node
* @param \PhpParser\Node\Expr\Closure|\PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_ $node
*/
private function removeOrChangeAssignToVariable($node, \PhpParser\Node\Expr\Assign $assign, string $variableName) : ?\PhpParser\Node
{
@ -115,7 +115,7 @@ CODE_SAMPLE
return $node;
}
/**
* @param \PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_|\PhpParser\Node\Expr\Closure $functionLike
* @param \PhpParser\Node\Expr\Closure|\PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_ $functionLike
*/
private function hasFunctionOrClosureInside($functionLike, \PhpParser\Node\Expr\Variable $variable) : bool
{
@ -137,7 +137,7 @@ CODE_SAMPLE
});
}
/**
* @param \PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_|\PhpParser\Node\Expr\Closure $functionLike
* @param \PhpParser\Node\Expr\Closure|\PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_ $functionLike
*/
private function matchFuncGetArgsVariableAssign($functionLike) : ?\PhpParser\Node\Expr\Assign
{

View File

@ -110,7 +110,7 @@ CODE_SAMPLE
return null;
}
/**
* @param \PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_|\PhpParser\Node\Expr\Closure $node
* @param \PhpParser\Node\Expr\Closure|\PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_ $node
*/
private function shouldAddEmptyLine(?string $currentStmtVariableName, $node, int $key) : bool
{
@ -148,7 +148,7 @@ CODE_SAMPLE
return $this->previousStmtVariableName !== $currentStmtVariableName;
}
/**
* @param \PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_|\PhpParser\Node\Expr\Closure $node
* @param \PhpParser\Node\Expr\Closure|\PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_ $node
*/
private function isPrecededByEmptyLine($node, int $key) : bool
{

View File

@ -83,8 +83,8 @@ CODE_SAMPLE
return $node instanceof \PhpParser\Node\Stmt\Expression;
}
/**
* @param \PhpParser\Node\Expr\PostInc|\PhpParser\Node\Expr\PostDec $node
* @return \PhpParser\Node\Expr\PreInc|\PhpParser\Node\Expr\PreDec
* @param \PhpParser\Node\Expr\PostDec|\PhpParser\Node\Expr\PostInc $node
* @return \PhpParser\Node\Expr\PreDec|\PhpParser\Node\Expr\PreInc
*/
private function processPrePost($node)
{
@ -94,7 +94,7 @@ CODE_SAMPLE
return new \PhpParser\Node\Expr\PreDec($node->var);
}
/**
* @param \PhpParser\Node\Expr\PostInc|\PhpParser\Node\Expr\PostDec $node
* @param \PhpParser\Node\Expr\PostDec|\PhpParser\Node\Expr\PostInc $node
*/
private function processPreArray($node, \PhpParser\Node\Expr\ArrayDimFetch $arrayDimFetch) : ?\PhpParser\Node\Expr
{
@ -107,7 +107,7 @@ CODE_SAMPLE
return $arrayDimFetch->dim;
}
/**
* @param \PhpParser\Node\Expr\PostInc|\PhpParser\Node\Expr\PostDec $node
* @param \PhpParser\Node\Expr\PostDec|\PhpParser\Node\Expr\PostInc $node
* @return \PhpParser\Node\Expr\PreDec|\PhpParser\Node\Expr\PreInc
*/
private function processPreFor($node, \PhpParser\Node\Stmt\For_ $for)

View File

@ -19,7 +19,7 @@ final class VendorLocationDetector
$this->pathNormalizer = $pathNormalizer;
}
/**
* @param \PHPStan\Reflection\ReflectionWithFilename|\PHPStan\Reflection\MethodReflection|\PHPStan\Reflection\FunctionReflection $reflection
* @param \PHPStan\Reflection\FunctionReflection|\PHPStan\Reflection\MethodReflection|\PHPStan\Reflection\ReflectionWithFilename $reflection
*/
public function detectFunctionLikeReflection($reflection) : bool
{
@ -32,7 +32,7 @@ final class VendorLocationDetector
return \strpos($normalizedFileName, '/vendor/') !== \false;
}
/**
* @param \PHPStan\Reflection\MethodReflection|\PHPStan\Reflection\ReflectionWithFilename|\PHPStan\Reflection\FunctionReflection $reflection
* @param \PHPStan\Reflection\FunctionReflection|\PHPStan\Reflection\MethodReflection|\PHPStan\Reflection\ReflectionWithFilename $reflection
* @return string|null
*/
private function resolveReflectionFileName($reflection)

View File

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

View File

@ -136,7 +136,7 @@ final class IsClassMethodUsedAnalyzer
return \false;
}
/**
* @param null|\Rector\NodeCollector\ValueObject\ArrayCallable $arrayCallable
* @param \Rector\NodeCollector\ValueObject\ArrayCallable|null $arrayCallable
*/
private function shouldSkipArrayCallable(\PhpParser\Node\Stmt\Class_ $class, $arrayCallable) : bool
{

View File

@ -56,7 +56,7 @@ final class LivingCodeManipulator
}
/**
* @return Expr[]|mixed[]
* @param \PhpParser\Node|int|string|null $expr
* @param int|\PhpParser\Node|string|null $expr
*/
public function keepLivingCodeFromExpr($expr) : array
{

View File

@ -58,7 +58,7 @@ final class VarTagRemover
$phpDocInfo->removeByType(\PHPStan\PhpDocParser\Ast\PhpDoc\VarTagValueNode::class);
}
/**
* @param \PhpParser\Node\Stmt\Expression|\PhpParser\Node\Stmt\Property|\PhpParser\Node\Param $node
* @param \PhpParser\Node\Param|\PhpParser\Node\Stmt\Expression|\PhpParser\Node\Stmt\Property $node
*/
public function removeVarPhpTagValueNodeIfNotComment($node, \PHPStan\Type\Type $type) : void
{
@ -86,7 +86,7 @@ final class VarTagRemover
$phpDocInfo->removeByType(\PHPStan\PhpDocParser\Ast\PhpDoc\VarTagValueNode::class);
}
/**
* @param \PhpParser\Node\Stmt\Expression|\PhpParser\Node\Param|\PhpParser\Node\Stmt\Property $node
* @param \PhpParser\Node\Param|\PhpParser\Node\Stmt\Expression|\PhpParser\Node\Stmt\Property $node
*/
private function isNonBasicArrayType($node, \PHPStan\PhpDocParser\Ast\PhpDoc\VarTagValueNode $varTagValueNode) : bool
{

View File

@ -122,7 +122,7 @@ CODE_SAMPLE
return $phpDocInfo->hasByName('required');
}
/**
* @return null|\PhpParser\Node\Stmt|\PhpParser\Node\Expr
* @return \PhpParser\Node\Expr|\PhpParser\Node\Stmt|null
*/
private function matchClassMethodOnlyStmt(\PhpParser\Node\Stmt\ClassMethod $classMethod)
{

View File

@ -28,7 +28,7 @@ final class RemovePhpVersionIdCheckRector extends \Rector\Core\Rector\AbstractRe
*/
public const PHP_VERSION_CONSTRAINT = 'phpVersionConstraint';
/**
* @var string|int|null
* @var int|string|null
*/
private $phpVersionConstraint;
/**

View File

@ -124,7 +124,7 @@ CODE_SAMPLE
return $scope;
}
/**
* @param \PhpParser\Node\Stmt\Class_|\PhpParser\Node\Stmt\Trait_|\PhpParser\Node\Stmt\Interface_ $classLike
* @param \PhpParser\Node\Stmt\Class_|\PhpParser\Node\Stmt\Interface_|\PhpParser\Node\Stmt\Trait_ $classLike
*/
private function shouldSkipClassMethod($classLike, \PhpParser\Node\Expr\MethodCall $methodCall, \PHPStan\Type\TypeWithClassName $typeWithClassName) : bool
{
@ -158,7 +158,7 @@ CODE_SAMPLE
return !$classMethod->isPrivate();
}
/**
* @return \PhpParser\Node\Expr\MethodCall|\PhpParser\Node\Expr\ConstFetch
* @return \PhpParser\Node\Expr\ConstFetch|\PhpParser\Node\Expr\MethodCall
*/
private function processArrowFunction(\PhpParser\Node\Expr\ArrowFunction $arrowFunction, \PhpParser\Node\Expr\MethodCall $methodCall)
{

View File

@ -106,7 +106,7 @@ CODE_SAMPLE
return null;
}
/**
* @param \PhpParser\Node\Expr\BinaryOp\Plus|\PhpParser\Node\Expr\BinaryOp\Minus $binaryOp
* @param \PhpParser\Node\Expr\BinaryOp\Minus|\PhpParser\Node\Expr\BinaryOp\Plus $binaryOp
*/
private function processBinaryPlusAndMinus($binaryOp) : ?\PhpParser\Node\Expr
{
@ -125,7 +125,7 @@ CODE_SAMPLE
return $binaryOp->left;
}
/**
* @param \PhpParser\Node\Expr\BinaryOp\Mul|\PhpParser\Node\Expr\BinaryOp\Div $binaryOp
* @param \PhpParser\Node\Expr\BinaryOp\Div|\PhpParser\Node\Expr\BinaryOp\Mul $binaryOp
*/
private function processBinaryMulAndDiv($binaryOp) : ?\PhpParser\Node\Expr
{

View File

@ -104,7 +104,7 @@ final class UselessIfCondBeforeForeachDetector
});
}
/**
* @param \PhpParser\Node\Expr\BinaryOp\NotIdentical|\PhpParser\Node\Expr\BinaryOp\NotEqual $binaryOp
* @param \PhpParser\Node\Expr\BinaryOp\NotEqual|\PhpParser\Node\Expr\BinaryOp\NotIdentical $binaryOp
*/
private function isMatchingNotBinaryOp($binaryOp, \PhpParser\Node\Expr $foreachExpr) : bool
{

View File

@ -97,7 +97,7 @@ CODE_SAMPLE
return $node;
}
/**
* @param \PhpParser\Node\Stmt\Function_|\PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Expr\Closure $functionLike
* @param \PhpParser\Node\Expr\Closure|\PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_ $functionLike
*/
private function resolveRecastAssign(\PhpParser\Node\Param $param, $functionLike) : ?\PhpParser\Node\Stmt\Expression
{

View File

@ -91,7 +91,7 @@ CODE_SAMPLE
return null;
}
/**
* @param \PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_|\PhpParser\Node\Expr\Closure $functionLike
* @param \PhpParser\Node\Expr\Closure|\PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_ $functionLike
*/
private function refactorParamType(\PhpParser\Node\Param $param, $functionLike) : bool
{
@ -103,7 +103,7 @@ CODE_SAMPLE
return \true;
}
/**
* @param \PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_|\PhpParser\Node\Expr\Closure $functionLike
* @param \PhpParser\Node\Expr\Closure|\PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_ $functionLike
*/
private function decorateWithDocBlock($functionLike, \PhpParser\Node\Param $param) : void
{

View File

@ -115,7 +115,7 @@ CODE_SAMPLE
}
/**
* @return Expression[]
* @param \PhpParser\Node\Expr\List_|\PhpParser\Node\Expr\Array_ $node
* @param \PhpParser\Node\Expr\Array_|\PhpParser\Node\Expr\List_ $node
*/
private function processExtractToItsOwnVariable($node, \PhpParser\Node $parent, \PhpParser\Node $parentExpression) : array
{

View File

@ -55,7 +55,7 @@ CODE_SAMPLE
return $this->processForStringOrVariableOrProperty($node);
}
/**
* @param \PhpParser\Node\Scalar\String_|\PhpParser\Node\Expr\Variable|\PhpParser\Node\Expr\PropertyFetch|\PhpParser\Node\Expr\StaticPropertyFetch $expr
* @param \PhpParser\Node\Expr\PropertyFetch|\PhpParser\Node\Expr\StaticPropertyFetch|\PhpParser\Node\Expr\Variable|\PhpParser\Node\Scalar\String_ $expr
*/
private function processForStringOrVariableOrProperty($expr) : ?\PhpParser\Node\Expr
{

View File

@ -101,7 +101,7 @@ CODE_SAMPLE
* since they are not needed anymore.
* If all of them can be removed, then directly remove `list()`.
* @return List_|Array_|null
* @param \PhpParser\Node\Expr\List_|\PhpParser\Node\Expr\Array_ $node
* @param \PhpParser\Node\Expr\Array_|\PhpParser\Node\Expr\List_ $node
*/
public function removeStaleParams($node, int $rightSideRemovableParamsCount) : ?\PhpParser\Node
{
@ -119,7 +119,7 @@ CODE_SAMPLE
return $node;
}
/**
* @param \PhpParser\Node\Expr\List_|\PhpParser\Node\Expr\Array_ $node
* @param \PhpParser\Node\Expr\Array_|\PhpParser\Node\Expr\List_ $node
*/
private function shouldRefactor($node) : bool
{
@ -246,7 +246,7 @@ CODE_SAMPLE
/**
* Re-build the path to the variable with all accumulated indexes
* @param (string|int)[] $nestedArrayIndexes The path to build nested lists
* @param string|int $arrayIndex
* @param int|string $arrayIndex
*/
private function createAssignRefWithArrayDimFetch(\PhpParser\Node\Expr\Variable $assignVariable, \PhpParser\Node\Expr\Variable $exprVariable, array $nestedArrayIndexes, $arrayIndex) : \PhpParser\Node\Expr\AssignRef
{

View File

@ -146,7 +146,7 @@ CODE_SAMPLE
return $node;
}
/**
* @param \PhpParser\Node\UnionType|\PhpParser\Node\NullableType|\PhpParser\Node\Name|\PhpParser\Node\Identifier|\PhpParser\Node\ComplexType $returnTypeNode
* @param \PhpParser\Node\ComplexType|\PhpParser\Node\Identifier|\PhpParser\Node\Name|\PhpParser\Node\NullableType|\PhpParser\Node\UnionType $returnTypeNode
*/
private function resolveDifferentAncestorReturnType(\PhpParser\Node\Stmt\ClassMethod $classMethod, $returnTypeNode) : \PHPStan\Type\Type
{

View File

@ -147,7 +147,7 @@ CODE_SAMPLE
return $this->valueResolver->isNull($allowableTagsParam);
}
/**
* @param \PhpParser\Node\Expr\Array_|\PhpParser\Node\Expr\Variable|\PhpParser\Node\Expr\PropertyFetch|\PhpParser\Node\Expr\ConstFetch|\PhpParser\Node\Expr\ClassConstFetch $expr
* @param \PhpParser\Node\Expr\Array_|\PhpParser\Node\Expr\ClassConstFetch|\PhpParser\Node\Expr\ConstFetch|\PhpParser\Node\Expr\PropertyFetch|\PhpParser\Node\Expr\Variable $expr
*/
private function createArrayFromString($expr) : \PhpParser\Node\Expr\BinaryOp\Concat
{
@ -157,7 +157,7 @@ CODE_SAMPLE
return new \PhpParser\Node\Expr\BinaryOp\Concat($concat, new \PhpParser\Node\Scalar\String_('>'));
}
/**
* @param \PhpParser\Node\Expr\Variable|\PhpParser\Node\Expr\PropertyFetch|\PhpParser\Node\Expr\ConstFetch|\PhpParser\Node\Expr\ClassConstFetch $expr
* @param \PhpParser\Node\Expr\ClassConstFetch|\PhpParser\Node\Expr\ConstFetch|\PhpParser\Node\Expr\PropertyFetch|\PhpParser\Node\Expr\Variable $expr
*/
private function createIsArrayTernaryFromExpression($expr) : \PhpParser\Node\Expr\Ternary
{

View File

@ -75,7 +75,7 @@ CODE_SAMPLE
return $node;
}
/**
* @param \PhpParser\Node\Scalar\LNumber|\PhpParser\Node\Scalar\DNumber $node
* @param \PhpParser\Node\Scalar\DNumber|\PhpParser\Node\Scalar\LNumber $node
*/
public function shouldRefactor($node) : bool
{

View File

@ -92,7 +92,7 @@ CODE_SAMPLE
return $this->processParams($node);
}
/**
* @param \PhpParser\Node\Expr\FuncCall|\PhpParser\Node\Expr\MethodCall|\PhpParser\Node\Expr\StaticCall|\PhpParser\Node\Expr\New_ $node
* @param \PhpParser\Node\Expr\FuncCall|\PhpParser\Node\Expr\MethodCall|\PhpParser\Node\Expr\New_|\PhpParser\Node\Expr\StaticCall $node
*/
private function processArgs($node) : ?\PhpParser\Node
{
@ -110,7 +110,7 @@ CODE_SAMPLE
$this->cleanTrailingComma($node, $node->uses);
}
/**
* @param \PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_|\PhpParser\Node\Expr\Closure $node
* @param \PhpParser\Node\Expr\Closure|\PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_ $node
*/
private function processParams($node) : ?\PhpParser\Node
{
@ -121,7 +121,7 @@ CODE_SAMPLE
}
/**
* @param ClosureUse[]|Param[]|Arg[] $array
* @param \PhpParser\Node\Expr\FuncCall|\PhpParser\Node\Expr\MethodCall|\PhpParser\Node\Expr\New_|\PhpParser\Node\Expr\StaticCall|\PhpParser\Node\Expr\Closure|\PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_ $node
* @param \PhpParser\Node\Expr\Closure|\PhpParser\Node\Expr\FuncCall|\PhpParser\Node\Expr\MethodCall|\PhpParser\Node\Expr\New_|\PhpParser\Node\Expr\StaticCall|\PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_ $node
*/
private function cleanTrailingComma($node, array $array) : ?\PhpParser\Node
{

View File

@ -113,7 +113,7 @@ CODE_SAMPLE
$this->attributesToAnnotations = $attributesToAnnotations;
}
/**
* @param \PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Property|\PhpParser\Node\Stmt\Class_|\PhpParser\Node\Stmt\Interface_|\PhpParser\Node\Param|\PhpParser\Node\Stmt\Function_ $node
* @param \PhpParser\Node\Param|\PhpParser\Node\Stmt\Class_|\PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_|\PhpParser\Node\Stmt\Interface_|\PhpParser\Node\Stmt\Property $node
*/
private function cleanupEmptyAttrGroups($node) : void
{

View File

@ -95,7 +95,7 @@ CODE_SAMPLE
return $node;
}
/**
* @return \PhpParser\Node\Stmt\If_|\PhpParser\Node\Stmt\Expression|null
* @return \PhpParser\Node\Stmt\Expression|\PhpParser\Node\Stmt\If_|null
*/
private function processAssign(\PhpParser\Node\Stmt\Expression $expression, \PhpParser\Node\Expr\Assign $assign)
{

View File

@ -84,7 +84,7 @@ CODE_SAMPLE
}
/**
* @return FuncCall
* @param \PhpParser\Node\Expr\FuncCall|\PhpParser\Node\Expr\BooleanNot $expr
* @param \PhpParser\Node\Expr\BooleanNot|\PhpParser\Node\Expr\FuncCall $expr
*/
private function matchStrContainsOrNotStrContains($expr) : ?\PhpParser\Node\Expr\FuncCall
{

View File

@ -86,7 +86,7 @@ CODE_SAMPLE
}
/**
* @param Arg[] $args
* @param \PhpParser\Node\Expr\MethodCall|\PhpParser\Node\Expr\StaticCall|\PhpParser\Node\Expr\New_|\PhpParser\Node\Expr\FuncCall $node
* @param \PhpParser\Node\Expr\FuncCall|\PhpParser\Node\Expr\MethodCall|\PhpParser\Node\Expr\New_|\PhpParser\Node\Expr\StaticCall $node
*/
private function removeNamedArguments($node, array $args) : ?\PhpParser\Node
{

View File

@ -34,7 +34,7 @@ final class DefaultParameterValueResolver
return $this->resolveValueFromType($defaultValue);
}
/**
* @param \PHPStan\Reflection\MethodReflection|\PHPStan\Reflection\FunctionReflection $functionLikeReflection
* @param \PHPStan\Reflection\FunctionReflection|\PHPStan\Reflection\MethodReflection $functionLikeReflection
*/
public function resolveFromFunctionLikeAndPosition($functionLikeReflection, int $position) : ?\PhpParser\Node\Expr
{
@ -49,7 +49,7 @@ final class DefaultParameterValueResolver
return $this->resolveFromParameterReflection($parameterReflection);
}
/**
* @return \PhpParser\Node\Expr\ConstFetch|\PhpParser\Node\Expr
* @return \PhpParser\Node\Expr|\PhpParser\Node\Expr\ConstFetch
*/
private function resolveValueFromType(\PHPStan\Type\ConstantType $constantType)
{

View File

@ -109,7 +109,7 @@ CODE_SAMPLE
return $statements;
}
/**
* @param \PhpParser\Node\Stmt\If_|\PhpParser\Node\Stmt\ElseIf_ $node
* @param \PhpParser\Node\Stmt\ElseIf_|\PhpParser\Node\Stmt\If_ $node
*/
private function doesLastStatementBreakFlow($node) : bool
{

View File

@ -92,7 +92,7 @@ CODE_SAMPLE
return $funcCall;
}
/**
* @return \PhpParser\Node\Scalar\String_|\PhpParser\Node\Expr\BinaryOp\Concat
* @return \PhpParser\Node\Expr\BinaryOp\Concat|\PhpParser\Node\Scalar\String_
*/
private function joinStringWithNode(string $string, \PhpParser\Node\Expr $expr)
{

View File

@ -67,7 +67,7 @@ CODE_SAMPLE
return $node;
}
/**
* @return \PhpParser\Node\Scalar\String_|\PhpParser\Node\Expr\BinaryOp\Concat
* @return \PhpParser\Node\Expr\BinaryOp\Concat|\PhpParser\Node\Scalar\String_
*/
private function joinStringWithNode(string $string, \PhpParser\Node\Expr $expr)
{

View File

@ -10,7 +10,7 @@ use PhpParser\Node\Stmt\Function_;
interface RenameParamValueObjectInterface extends \Rector\Naming\Contract\RenameValueObjectInterface
{
/**
* @return \PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_|\PhpParser\Node\Expr\Closure
* @return \PhpParser\Node\Expr\Closure|\PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_
*/
public function getFunctionLike();
public function getParam() : \PhpParser\Node\Param;

View File

@ -67,7 +67,7 @@ final class BreakingVariableRenameGuard
$this->nodeNameResolver = $nodeNameResolver;
}
/**
* @param \PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_|\PhpParser\Node\Expr\Closure $functionLike
* @param \PhpParser\Node\Expr\Closure|\PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_ $functionLike
*/
public function shouldSkipVariable(string $currentName, string $expectedName, $functionLike, \PhpParser\Node\Expr\Variable $variable) : bool
{
@ -142,14 +142,14 @@ final class BreakingVariableRenameGuard
return $trinaryLogic->maybe();
}
/**
* @param \PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_|\PhpParser\Node\Expr\Closure $functionLike
* @param \PhpParser\Node\Expr\Closure|\PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_ $functionLike
*/
private function hasConflictVariable($functionLike, string $newName) : bool
{
return $this->betterNodeFinder->hasInstanceOfName((array) $functionLike->stmts, \PhpParser\Node\Expr\Variable::class, $newName);
}
/**
* @param \PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_|\PhpParser\Node\Expr\Closure $functionLike
* @param \PhpParser\Node\Expr\Closure|\PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_ $functionLike
*/
private function isUsedInClosureUsesName(string $expectedName, $functionLike) : bool
{

View File

@ -51,7 +51,7 @@ final class ForeachMatcher
return new \Rector\Naming\ValueObject\VariableAndCallForeach($foreach->valueVar, $call, $variableName, $functionLike);
}
/**
* @return \PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_|\PhpParser\Node\Expr\Closure|null
* @return \PhpParser\Node\Expr\Closure|\PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_|null
*/
private function getFunctionLike(\PhpParser\Node\Stmt\Foreach_ $foreach)
{

View File

@ -52,7 +52,7 @@ final class VariableAndCallAssignMatcher
return new \Rector\Naming\ValueObject\VariableAndCallAssign($assign->var, $call, $assign, $variableName, $functionLike);
}
/**
* @return \PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_|\PhpParser\Node\Expr\Closure|null
* @return \PhpParser\Node\Expr\Closure|\PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_|null
*/
private function getFunctionLike(\PhpParser\Node\Expr\Assign $assign)
{

View File

@ -61,7 +61,7 @@ final class ConflictingNameResolver
return $this->arrayFilter->filterWithAtLeastTwoOccurences($expectedNames);
}
/**
* @param \PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_|\PhpParser\Node\Expr\Closure $functionLike
* @param \PhpParser\Node\Expr\Closure|\PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_ $functionLike
*/
public function hasNameIsInFunctionLike(string $variableName, $functionLike) : bool
{
@ -70,7 +70,7 @@ final class ConflictingNameResolver
}
/**
* @return string[]
* @param \PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_|\PhpParser\Node\Expr\Closure $functionLike
* @param \PhpParser\Node\Expr\Closure|\PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_ $functionLike
*/
private function resolveConflictingVariableNamesForNew($functionLike) : array
{
@ -89,7 +89,7 @@ final class ConflictingNameResolver
}
/**
* @return string[]
* @param \PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_|\PhpParser\Node\Expr\Closure $functionLike
* @param \PhpParser\Node\Expr\Closure|\PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_ $functionLike
*/
private function collectParamNames($functionLike) : array
{
@ -102,7 +102,7 @@ final class ConflictingNameResolver
}
/**
* @return string[]
* @param \PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_|\PhpParser\Node\Expr\Closure $functionLike
* @param \PhpParser\Node\Expr\Closure|\PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_ $functionLike
*/
private function resolveForNewAssigns($functionLike) : array
{
@ -120,7 +120,7 @@ final class ConflictingNameResolver
}
/**
* @return string[]
* @param \PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_|\PhpParser\Node\Expr\Closure $functionLike
* @param \PhpParser\Node\Expr\Closure|\PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_ $functionLike
*/
private function resolveForNonNewAssigns($functionLike) : array
{

View File

@ -101,7 +101,7 @@ final class ExpectedNameResolver
return $expectedName->getName();
}
/**
* @param \PhpParser\Node\Expr\MethodCall|\PhpParser\Node\Expr\StaticCall|\PhpParser\Node\Expr\FuncCall $expr
* @param \PhpParser\Node\Expr\FuncCall|\PhpParser\Node\Expr\MethodCall|\PhpParser\Node\Expr\StaticCall $expr
*/
public function resolveForCall($expr) : ?string
{
@ -134,7 +134,7 @@ final class ExpectedNameResolver
return null;
}
/**
* @param \PhpParser\Node\Expr\MethodCall|\PhpParser\Node\Expr\StaticCall|\PhpParser\Node\Expr\FuncCall $expr
* @param \PhpParser\Node\Expr\FuncCall|\PhpParser\Node\Expr\MethodCall|\PhpParser\Node\Expr\StaticCall $expr
*/
public function resolveForForeach($expr) : ?string
{
@ -174,7 +174,7 @@ final class ExpectedNameResolver
return $returnedType instanceof \PHPStan\Type\ArrayType && $expectedName !== null;
}
/**
* @param \PhpParser\Node\Expr\MethodCall|\PhpParser\Node\Expr\StaticCall|\PhpParser\Node\Expr\FuncCall $expr
* @param \PhpParser\Node\Expr\FuncCall|\PhpParser\Node\Expr\MethodCall|\PhpParser\Node\Expr\StaticCall $expr
*/
private function isDynamicNameCall($expr) : bool
{

View File

@ -36,7 +36,7 @@ final class OverridenExistingNamesResolver
$this->nodeNameResolver = $nodeNameResolver;
}
/**
* @param \PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_|\PhpParser\Node\Expr\Closure $functionLike
* @param \PhpParser\Node\Expr\Closure|\PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_ $functionLike
*/
public function hasNameInClassMethodForNew(string $variableName, $functionLike) : bool
{
@ -62,7 +62,7 @@ final class OverridenExistingNamesResolver
}
/**
* @return string[]
* @param \PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_|\PhpParser\Node\Expr\Closure $functionLike
* @param \PhpParser\Node\Expr\Closure|\PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_ $functionLike
*/
private function resolveOveriddenNamesForNew($functionLike) : array
{

View File

@ -24,7 +24,7 @@ final class NamingConventionAnalyzer
* $someNameSuffix = $this->getSomeName();
* $prefixSomeName = $this->getSomeName();
* $someName = $this->getSomeName();
* @param \PhpParser\Node\Expr\FuncCall|\PhpParser\Node\Expr\StaticCall|\PhpParser\Node\Expr\MethodCall $expr
* @param \PhpParser\Node\Expr\FuncCall|\PhpParser\Node\Expr\MethodCall|\PhpParser\Node\Expr\StaticCall $expr
*/
public function isCallMatchingVariableName($expr, string $currentName, string $expectedName) : bool
{

View File

@ -143,7 +143,7 @@ CODE_SAMPLE
return $node;
}
/**
* @param \PhpParser\Node\Expr\FuncCall|\PhpParser\Node\Expr\StaticCall|\PhpParser\Node\Expr\MethodCall $callNode
* @param \PhpParser\Node\Expr\FuncCall|\PhpParser\Node\Expr\MethodCall|\PhpParser\Node\Expr\StaticCall $callNode
*/
private function isMultipleCall($callNode) : bool
{
@ -190,7 +190,7 @@ CODE_SAMPLE
$this->variableRenamer->renameVariableInFunctionLike($variableAndCallAssign->getFunctionLike(), $variableAndCallAssign->getVariableName(), $expectedName, $variableAndCallAssign->getAssign());
}
/**
* @param \PhpParser\Node\Expr\StaticCall|\PhpParser\Node\Expr\MethodCall|\PhpParser\Node\Expr\FuncCall $expr
* @param \PhpParser\Node\Expr\FuncCall|\PhpParser\Node\Expr\MethodCall|\PhpParser\Node\Expr\StaticCall $expr
*/
private function isClassTypeWithChildren($expr) : bool
{

View File

@ -28,11 +28,11 @@ final class ParamRename implements \Rector\Naming\Contract\RenameParamValueObjec
*/
private $variable;
/**
* @var \PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_|\PhpParser\Node\Expr\Closure
* @var \PhpParser\Node\Expr\Closure|\PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_
*/
private $functionLike;
/**
* @param \PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_|\PhpParser\Node\Expr\Closure $functionLike
* @param \PhpParser\Node\Expr\Closure|\PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_ $functionLike
*/
public function __construct(string $currentName, string $expectedName, \PhpParser\Node\Param $param, \PhpParser\Node\Expr\Variable $variable, $functionLike)
{
@ -51,7 +51,7 @@ final class ParamRename implements \Rector\Naming\Contract\RenameParamValueObjec
return $this->expectedName;
}
/**
* @return \PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_|\PhpParser\Node\Expr\Closure
* @return \PhpParser\Node\Expr\Closure|\PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_
*/
public function getFunctionLike()
{

View File

@ -18,7 +18,7 @@ final class VariableAndCallAssign
*/
private $variable;
/**
* @var \PhpParser\Node\Expr\FuncCall|\PhpParser\Node\Expr\StaticCall|\PhpParser\Node\Expr\MethodCall
* @var \PhpParser\Node\Expr\FuncCall|\PhpParser\Node\Expr\MethodCall|\PhpParser\Node\Expr\StaticCall
*/
private $expr;
/**
@ -30,12 +30,12 @@ final class VariableAndCallAssign
*/
private $variableName;
/**
* @var \PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_|\PhpParser\Node\Expr\Closure
* @var \PhpParser\Node\Expr\Closure|\PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_
*/
private $functionLike;
/**
* @param \PhpParser\Node\Expr\FuncCall|\PhpParser\Node\Expr\StaticCall|\PhpParser\Node\Expr\MethodCall $expr
* @param \PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_|\PhpParser\Node\Expr\Closure $functionLike
* @param \PhpParser\Node\Expr\FuncCall|\PhpParser\Node\Expr\MethodCall|\PhpParser\Node\Expr\StaticCall $expr
* @param \PhpParser\Node\Expr\Closure|\PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_ $functionLike
*/
public function __construct(\PhpParser\Node\Expr\Variable $variable, $expr, \PhpParser\Node\Expr\Assign $assign, string $variableName, $functionLike)
{

View File

@ -17,7 +17,7 @@ final class VariableAndCallForeach
*/
private $variable;
/**
* @var \PhpParser\Node\Expr\FuncCall|\PhpParser\Node\Expr\StaticCall|\PhpParser\Node\Expr\MethodCall
* @var \PhpParser\Node\Expr\FuncCall|\PhpParser\Node\Expr\MethodCall|\PhpParser\Node\Expr\StaticCall
*/
private $expr;
/**
@ -25,12 +25,12 @@ final class VariableAndCallForeach
*/
private $variableName;
/**
* @var \PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_|\PhpParser\Node\Expr\Closure
* @var \PhpParser\Node\Expr\Closure|\PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_
*/
private $functionLike;
/**
* @param \PhpParser\Node\Expr\FuncCall|\PhpParser\Node\Expr\StaticCall|\PhpParser\Node\Expr\MethodCall $expr
* @param \PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_|\PhpParser\Node\Expr\Closure $functionLike
* @param \PhpParser\Node\Expr\FuncCall|\PhpParser\Node\Expr\MethodCall|\PhpParser\Node\Expr\StaticCall $expr
* @param \PhpParser\Node\Expr\Closure|\PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_ $functionLike
*/
public function __construct(\PhpParser\Node\Expr\Variable $variable, $expr, string $variableName, $functionLike)
{

View File

@ -48,7 +48,7 @@ final class VariableRenamer
$this->betterNodeFinder = $betterNodeFinder;
}
/**
* @param \PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_|\PhpParser\Node\Expr\Closure $functionLike
* @param \PhpParser\Node\Expr\Closure|\PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_ $functionLike
*/
public function renameVariableInFunctionLike($functionLike, string $oldName, string $expectedName, ?\PhpParser\Node\Expr\Assign $assign = null) : void
{

View File

@ -76,7 +76,7 @@ final class StmtVisibilitySorter
return $this->sortByRanksAndGetNames($classConstsRankeables);
}
/**
* @param \PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Property|\PhpParser\Node\Stmt\ClassConst $stmt
* @param \PhpParser\Node\Stmt\ClassConst|\PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Property $stmt
*/
private function getVisibilityLevelOrder($stmt) : int
{

View File

@ -97,7 +97,7 @@ CODE_SAMPLE
return $continue;
}
/**
* @return \PhpParser\Node\Stmt\Continue_|\PhpParser\Node\Stmt\Break_
* @return \PhpParser\Node\Stmt\Break_|\PhpParser\Node\Stmt\Continue_
*/
private function processVariableNum(\PhpParser\Node\Stmt\Continue_ $continue, \PhpParser\Node\Expr\Variable $numVariable)
{

View File

@ -55,7 +55,7 @@ final class UndefinedVariableResolver
}
/**
* @return string[]
* @param \PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_|\PhpParser\Node\Expr\Closure $node
* @param \PhpParser\Node\Expr\Closure|\PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_ $node
*/
public function resolve($node) : array
{
@ -96,7 +96,7 @@ final class UndefinedVariableResolver
}
/**
* @return string[]
* @param \PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_|\PhpParser\Node\Expr\Closure $node
* @param \PhpParser\Node\Expr\Closure|\PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_ $node
*/
private function collectVariableNamesFromParams($node) : array
{

View File

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

View File

@ -107,7 +107,7 @@ final class RemoveExtraParametersRector extends \Rector\Core\Rector\AbstractRect
return $this->variadicAnalyzer->hasVariadicParameters($call);
}
/**
* @param \PHPStan\Reflection\MethodReflection|\PHPStan\Reflection\FunctionReflection $functionLikeReflection
* @param \PHPStan\Reflection\FunctionReflection|\PHPStan\Reflection\MethodReflection $functionLikeReflection
*/
private function resolveMaximumAllowedParameterCount($functionLikeReflection) : int
{

View File

@ -93,7 +93,7 @@ final class AnonymousFunctionFactory
/**
* @param Param[] $params
* @param Stmt[] $stmts
* @param \PhpParser\Node\Identifier|\PhpParser\Node\Name|\PhpParser\Node\NullableType|\PhpParser\Node\UnionType|\PhpParser\Node\ComplexType|null $returnTypeNode
* @param \PhpParser\Node\ComplexType|\PhpParser\Node\Identifier|\PhpParser\Node\Name|\PhpParser\Node\NullableType|\PhpParser\Node\UnionType|null $returnTypeNode
*/
public function create(array $params, array $stmts, $returnTypeNode, bool $static = \false) : \PhpParser\Node\Expr\Closure
{
@ -313,7 +313,7 @@ final class AnonymousFunctionFactory
return $innerMethodCall;
}
/**
* @return null|\PhpParser\Node\Name\FullyQualified|\PhpParser\Node\Expr
* @return \PhpParser\Node\Expr|\PhpParser\Node\Name\FullyQualified|null
*/
private function normalizeClassConstFetchForStatic(\PhpParser\Node\Expr $expr)
{
@ -331,7 +331,7 @@ final class AnonymousFunctionFactory
return new \PhpParser\Node\Name\FullyQualified($className);
}
/**
* @return \PhpParser\Node\Expr\New_|\PhpParser\Node\Expr|null
* @return \PhpParser\Node\Expr|\PhpParser\Node\Expr\New_|null
*/
private function resolveExpr(\PhpParser\Node\Expr $expr)
{

View File

@ -109,7 +109,7 @@ CODE_SAMPLE
return $newNodes;
}
/**
* @param string|int $dimValue
* @param int|string $dimValue
*/
private function createDimFetchAssignWithFuncCall(\PhpParser\Node\Expr $assignVariable, \PhpParser\Node\Expr $eachedVariable, $dimValue, string $functionName) : \PhpParser\Node\Expr\Assign
{

View File

@ -113,7 +113,7 @@ CODE_SAMPLE
return \Rector\Core\ValueObject\PhpVersionFeature::LITERAL_SEPARATOR;
}
/**
* @param \PhpParser\Node\Scalar\LNumber|\PhpParser\Node\Scalar\DNumber $node
* @param \PhpParser\Node\Scalar\DNumber|\PhpParser\Node\Scalar\LNumber $node
*/
private function shouldSkip($node, string $numericValueAsString) : bool
{

View File

@ -144,8 +144,9 @@ CODE_SAMPLE
}
if ($varType instanceof \PHPStan\Type\UnionType) {
$types = $varType->getTypes();
if (\count($types) === 2 && $types[0] instanceof \PHPStan\Type\Generic\TemplateType) {
$node->type = $this->staticTypeMapper->mapPHPStanTypeToPhpParserNode($types[0]->getBound(), \Rector\PHPStanStaticTypeMapper\Enum\TypeKind::PROPERTY());
if (\count($types) === 2 && $types[1] instanceof \PHPStan\Type\Generic\TemplateType) {
$templateType = $types[1];
$node->type = $this->staticTypeMapper->mapPHPStanTypeToPhpParserNode($templateType->getBound(), \Rector\PHPStanStaticTypeMapper\Enum\TypeKind::PROPERTY());
return $node;
}
}

View File

@ -19,7 +19,7 @@ final class PhpAttributeAnalyzer
$this->nodeNameResolver = $nodeNameResolver;
}
/**
* @param \PhpParser\Node\Stmt\Property|\PhpParser\Node\Stmt\ClassLike|\PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Param $node
* @param \PhpParser\Node\Param|\PhpParser\Node\Stmt\ClassLike|\PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Property $node
*/
public function hasPhpAttribute($node, string $attributeClass) : bool
{

View File

@ -11,7 +11,7 @@ use Rector\Php80\ValueObject\StrStartsWith;
final class StrStartsWithFuncCallFactory
{
/**
* @return \PhpParser\Node\Expr\FuncCall|\PhpParser\Node\Expr\BooleanNot
* @return \PhpParser\Node\Expr\BooleanNot|\PhpParser\Node\Expr\FuncCall
*/
public function createStrStartsWith(\Rector\Php80\ValueObject\StrStartsWith $strStartsWith)
{

View File

@ -11,7 +11,7 @@ final class RequireOptionalParamResolver
{
/**
* @return ParameterReflection[]
* @param \PHPStan\Reflection\MethodReflection|\PHPStan\Reflection\FunctionReflection $functionLikeReflection
* @param \PHPStan\Reflection\FunctionReflection|\PHPStan\Reflection\MethodReflection $functionLikeReflection
*/
public function resolveFromReflection($functionLikeReflection) : array
{

View File

@ -118,7 +118,7 @@ CODE_SAMPLE
return \Rector\Core\ValueObject\PhpVersionFeature::UNION_TYPES;
}
/**
* @param \PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_|\PhpParser\Node\Expr\Closure|\PhpParser\Node\Expr\ArrowFunction $functionLike
* @param \PhpParser\Node\Expr\ArrowFunction|\PhpParser\Node\Expr\Closure|\PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_ $functionLike
*/
private function refactorParamTypes($functionLike, \Rector\BetterPhpDocParser\PhpDocInfo\PhpDocInfo $phpDocInfo) : void
{
@ -161,7 +161,7 @@ CODE_SAMPLE
$this->hasChanged = \true;
}
/**
* @param \PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_|\PhpParser\Node\Expr\Closure|\PhpParser\Node\Expr\ArrowFunction $functionLike
* @param \PhpParser\Node\Expr\ArrowFunction|\PhpParser\Node\Expr\Closure|\PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_ $functionLike
*/
private function refactorReturnType($functionLike, \Rector\BetterPhpDocParser\PhpDocInfo\PhpDocInfo $phpDocInfo) : void
{
@ -185,7 +185,7 @@ CODE_SAMPLE
$this->hasChanged = \true;
}
/**
* @return \PHPStan\Type\UnionType|\PHPStan\Type\Type
* @return \PHPStan\Type\Type|\PHPStan\Type\UnionType
*/
private function filterOutDuplicatedArrayTypes(\PHPStan\Type\UnionType $unionType)
{

View File

@ -112,7 +112,7 @@ CODE_SAMPLE
* Covers:
* $isMatch = substr($haystack, -strlen($needle)) === $needle;
* $isMatch = 'needle' === substr($haystack, -6)
* @return \PhpParser\Node\Expr\FuncCall|\PhpParser\Node\Expr\BooleanNot|null
* @return \PhpParser\Node\Expr\BooleanNot|\PhpParser\Node\Expr\FuncCall|null
*/
private function refactorSubstr(\PhpParser\Node\Expr\BinaryOp $binaryOp)
{
@ -140,7 +140,7 @@ CODE_SAMPLE
return $this->buildReturnNode($haystack, $comparedNeedleExpr, $isPositive);
}
/**
* @return \PhpParser\Node\Expr\FuncCall|\PhpParser\Node\Expr\BooleanNot|null
* @return \PhpParser\Node\Expr\BooleanNot|\PhpParser\Node\Expr\FuncCall|null
*/
private function refactorSubstrCompare(\PhpParser\Node\Expr\BinaryOp $binaryOp)
{
@ -206,7 +206,7 @@ CODE_SAMPLE
return $lNumber->value === \strlen($needle->value);
}
/**
* @return \PhpParser\Node\Expr\FuncCall|\PhpParser\Node\Expr\BooleanNot
* @return \PhpParser\Node\Expr\BooleanNot|\PhpParser\Node\Expr\FuncCall
*/
private function buildReturnNode(\PhpParser\Node\Expr $haystack, \PhpParser\Node\Expr $needle, bool $isPositive)
{

View File

@ -13,21 +13,21 @@ use RectorPrefix20211030\Webmozart\Assert\Assert;
final class VisibilityManipulator
{
/**
* @param \PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Property|\PhpParser\Node\Stmt\ClassConst|\PhpParser\Node\Param $node
* @param \PhpParser\Node\Param|\PhpParser\Node\Stmt\ClassConst|\PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Property $node
*/
public function hasVisibility($node, int $visibility) : bool
{
return (bool) ($node->flags & $visibility);
}
/**
* @param \PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Property|\PhpParser\Node\Stmt\ClassConst $node
* @param \PhpParser\Node\Stmt\ClassConst|\PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Property $node
*/
public function makeStatic($node) : void
{
$this->addVisibilityFlag($node, \Rector\Core\ValueObject\Visibility::STATIC);
}
/**
* @param \PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Class_ $node
* @param \PhpParser\Node\Stmt\Class_|\PhpParser\Node\Stmt\ClassMethod $node
*/
public function makeAbstract($node) : void
{
@ -44,7 +44,7 @@ final class VisibilityManipulator
$node->flags -= \PhpParser\Node\Stmt\Class_::MODIFIER_STATIC;
}
/**
* @param \PhpParser\Node\Stmt\Class_|\PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\ClassConst $node
* @param \PhpParser\Node\Stmt\Class_|\PhpParser\Node\Stmt\ClassConst|\PhpParser\Node\Stmt\ClassMethod $node
*/
public function makeFinal($node) : void
{
@ -62,7 +62,7 @@ final class VisibilityManipulator
}
/**
* This way "abstract", "static", "final" are kept
* @param \PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Property|\PhpParser\Node\Stmt\ClassConst $node
* @param \PhpParser\Node\Stmt\ClassConst|\PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Property $node
*/
public function removeVisibility($node) : void
{
@ -81,7 +81,7 @@ final class VisibilityManipulator
}
}
/**
* @param \PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Property|\PhpParser\Node\Stmt\ClassConst $node
* @param \PhpParser\Node\Stmt\ClassConst|\PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Property $node
*/
public function changeNodeVisibility($node, int $visibility) : void
{
@ -89,21 +89,21 @@ final class VisibilityManipulator
$this->replaceVisibilityFlag($node, $visibility);
}
/**
* @param \PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Property|\PhpParser\Node\Stmt\ClassConst $node
* @param \PhpParser\Node\Stmt\ClassConst|\PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Property $node
*/
public function makePublic($node) : void
{
$this->replaceVisibilityFlag($node, \Rector\Core\ValueObject\Visibility::PUBLIC);
}
/**
* @param \PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Property|\PhpParser\Node\Stmt\ClassConst $node
* @param \PhpParser\Node\Stmt\ClassConst|\PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Property $node
*/
public function makeProtected($node) : void
{
$this->replaceVisibilityFlag($node, \Rector\Core\ValueObject\Visibility::PROTECTED);
}
/**
* @param \PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Property|\PhpParser\Node\Stmt\ClassConst $node
* @param \PhpParser\Node\Stmt\ClassConst|\PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Property $node
*/
public function makePrivate($node) : void
{
@ -121,21 +121,21 @@ final class VisibilityManipulator
$classMethod->flags -= \PhpParser\Node\Stmt\Class_::MODIFIER_ABSTRACT;
}
/**
* @param \PhpParser\Node\Stmt\Property|\PhpParser\Node\Param $node
* @param \PhpParser\Node\Param|\PhpParser\Node\Stmt\Property $node
*/
public function makeReadonly($node) : void
{
$this->addVisibilityFlag($node, \PhpParser\Node\Stmt\Class_::MODIFIER_READONLY);
}
/**
* @param \PhpParser\Node\Stmt\Class_|\PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Property|\PhpParser\Node\Stmt\ClassConst|\PhpParser\Node\Param $node
* @param \PhpParser\Node\Param|\PhpParser\Node\Stmt\Class_|\PhpParser\Node\Stmt\ClassConst|\PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Property $node
*/
private function addVisibilityFlag($node, int $visibility) : void
{
$node->flags |= $visibility;
}
/**
* @param \PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Property|\PhpParser\Node\Stmt\ClassConst $node
* @param \PhpParser\Node\Stmt\ClassConst|\PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Property $node
*/
private function replaceVisibilityFlag($node, int $visibility) : void
{

View File

@ -95,7 +95,7 @@ final class ComplexNodeRemover
}
/**
* @param string[] $classMethodNamesToSkip
* @param \PhpParser\Node\Expr\StaticPropertyFetch|\PhpParser\Node\Expr\PropertyFetch $expr
* @param \PhpParser\Node\Expr\PropertyFetch|\PhpParser\Node\Expr\StaticPropertyFetch $expr
*/
private function shouldSkipPropertyForClassMethod($expr, array $classMethodNamesToSkip) : bool
{

View File

@ -74,7 +74,7 @@ CODE_SAMPLE
$this->removedArguments = $removedArguments;
}
/**
* @param \PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Expr\StaticCall|\PhpParser\Node\Expr\MethodCall $node
* @param \PhpParser\Node\Expr\MethodCall|\PhpParser\Node\Expr\StaticCall|\PhpParser\Node\Stmt\ClassMethod $node
*/
private function processPosition($node, \Rector\Removing\ValueObject\ArgumentRemover $argumentRemover) : void
{
@ -103,7 +103,7 @@ CODE_SAMPLE
}
}
/**
* @param \PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Expr\StaticCall|\PhpParser\Node\Expr\MethodCall $node
* @param \PhpParser\Node\Expr\MethodCall|\PhpParser\Node\Expr\StaticCall|\PhpParser\Node\Stmt\ClassMethod $node
*/
private function removeByName($node, int $position, string $name) : void
{

View File

@ -130,7 +130,7 @@ CODE_SAMPLE
}
/**
* @return Name|Identifier
* @param \PhpParser\Node\Name|\PhpParser\Node\Identifier $node
* @param \PhpParser\Node\Identifier|\PhpParser\Node\Name $node
*/
private function processNameOrIdentifier($node) : ?\PhpParser\Node
{

View File

@ -25,7 +25,7 @@ final class AutowiredClassMethodOrPropertyAnalyzer
$this->nodeNameResolver = $nodeNameResolver;
}
/**
* @param \PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Param|\PhpParser\Node\Stmt\Property $node
* @param \PhpParser\Node\Param|\PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Property $node
*/
public function detect($node) : bool
{

View File

@ -35,8 +35,8 @@ final class CallerParamMatcher
$this->astResolver = $astResolver;
}
/**
* @param \PhpParser\Node\Expr\StaticCall|\PhpParser\Node\Expr\MethodCall|\PhpParser\Node\Expr\FuncCall $call
* @return null|\PhpParser\Node\Identifier|\PhpParser\Node\Name|\PhpParser\Node\NullableType|\PhpParser\Node\UnionType|\PhpParser\Node\ComplexType
* @param \PhpParser\Node\Expr\FuncCall|\PhpParser\Node\Expr\MethodCall|\PhpParser\Node\Expr\StaticCall $call
* @return \PhpParser\Node\ComplexType|\PhpParser\Node\Identifier|\PhpParser\Node\Name|\PhpParser\Node\NullableType|\PhpParser\Node\UnionType|null
*/
public function matchCallParamType($call, \PhpParser\Node\Param $param, \PHPStan\Analyser\Scope $scope)
{
@ -47,7 +47,7 @@ final class CallerParamMatcher
return $callParam->type;
}
/**
* @param \PhpParser\Node\Expr\StaticCall|\PhpParser\Node\Expr\MethodCall|\PhpParser\Node\Expr\FuncCall $call
* @param \PhpParser\Node\Expr\FuncCall|\PhpParser\Node\Expr\MethodCall|\PhpParser\Node\Expr\StaticCall $call
*/
public function matchCallParam($call, \PhpParser\Node\Param $param, \PHPStan\Analyser\Scope $scope) : ?\PhpParser\Node\Param
{
@ -75,7 +75,7 @@ final class CallerParamMatcher
return $this->resolveParentMethodParam($scope, $methodName, $parentStaticCallArgPosition);
}
/**
* @param \PhpParser\Node\Expr\StaticCall|\PhpParser\Node\Expr\MethodCall|\PhpParser\Node\Expr\FuncCall $call
* @param \PhpParser\Node\Expr\FuncCall|\PhpParser\Node\Expr\MethodCall|\PhpParser\Node\Expr\StaticCall $call
* @return int|null
*/
private function matchCallArgPosition($call, \PhpParser\Node\Param $param)

View File

@ -60,7 +60,7 @@ final class ReturnStrictTypeAnalyzer
return $this->typeNodeUnwrapper->uniquateNodes($returnedStrictTypeNodes);
}
/**
* @param \PhpParser\Node\Expr\MethodCall|\PhpParser\Node\Expr\StaticCall|\PhpParser\Node\Expr\FuncCall $call
* @param \PhpParser\Node\Expr\FuncCall|\PhpParser\Node\Expr\MethodCall|\PhpParser\Node\Expr\StaticCall $call
*/
private function resolveMethodCallReturnNode($call) : ?\PhpParser\Node
{

View File

@ -38,7 +38,7 @@ final class ObjectTypeSpecifier
}
/**
* @param \PHPStan\Analyser\Scope|null $scope
* @return \PHPStan\Type\ObjectType|\Rector\StaticTypeMapper\ValueObject\Type\AliasedObjectType|\Rector\StaticTypeMapper\ValueObject\Type\ShortenedObjectType|\Rector\StaticTypeMapper\ValueObject\Type\FullyQualifiedObjectType|\PHPStan\Type\StaticType|\PHPStan\Type\MixedType
* @return \PHPStan\Type\MixedType|\PHPStan\Type\ObjectType|\PHPStan\Type\StaticType|\Rector\StaticTypeMapper\ValueObject\Type\AliasedObjectType|\Rector\StaticTypeMapper\ValueObject\Type\FullyQualifiedObjectType|\Rector\StaticTypeMapper\ValueObject\Type\ShortenedObjectType
*/
public function narrowToFullyQualifiedOrAliasedObjectType(\PhpParser\Node $node, \PHPStan\Type\ObjectType $objectType, $scope)
{
@ -114,7 +114,7 @@ final class ObjectTypeSpecifier
return null;
}
/**
* @return \Rector\StaticTypeMapper\ValueObject\Type\ShortenedObjectType|\Rector\StaticTypeMapper\ValueObject\Type\ShortenedGenericObjectType|null
* @return \Rector\StaticTypeMapper\ValueObject\Type\ShortenedGenericObjectType|\Rector\StaticTypeMapper\ValueObject\Type\ShortenedObjectType|null
*/
private function matchShortenedObjectType(\PhpParser\Node $node, \PHPStan\Type\ObjectType $objectType)
{

Some files were not shown because too many files have changed in this diff Show More