mirror of https://github.com/rectorphp/rector.git
Updated Rector to commit e525dad6ab
e525dad6ab
[PHPStan 1.0] Use Nette filesystem over phpstan filewriter (#1115)
This commit is contained in:
parent
87204a6592
commit
a94a50e863
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -9,7 +9,7 @@ use PhpParser\Node\Name;
|
|||
final class NameAndParent
|
||||
{
|
||||
/**
|
||||
* @var Name|Identifier
|
||||
* @var Identifier|Name
|
||||
*/
|
||||
private $nameNode;
|
||||
/**
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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;
|
||||
/**
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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()
|
||||
{
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -14,7 +14,7 @@ use PhpParser\Node\Expr\Variable;
|
|||
final class VariableAssignPair
|
||||
{
|
||||
/**
|
||||
* @var Variable|ArrayDimFetch|PropertyFetch|StaticPropertyFetch
|
||||
* @var ArrayDimFetch|PropertyFetch|StaticPropertyFetch|Variable
|
||||
*/
|
||||
private $variable;
|
||||
/**
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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
Loading…
Reference in New Issue