X7ROOT File Manager
Current Path:
/opt/cpanel/ea-wappspector/vendor/rector/rector/src/NodeAnalyzer
opt
/
cpanel
/
ea-wappspector
/
vendor
/
rector
/
rector
/
src
/
NodeAnalyzer
/
??
..
??
ArgsAnalyzer.php
(418 B)
??
BinaryOpAnalyzer.php
(1.14 KB)
??
CallAnalyzer.php
(2.37 KB)
??
ClassAnalyzer.php
(463 B)
??
CompactFuncCallAnalyzer.php
(2.06 KB)
??
ConstFetchAnalyzer.php
(1.02 KB)
??
DoctrineEntityAnalyzer.php
(1.99 KB)
??
ExprAnalyzer.php
(3.62 KB)
??
MagicClassMethodAnalyzer.php
(717 B)
??
ParamAnalyzer.php
(5.39 KB)
??
PropertyAnalyzer.php
(1.66 KB)
??
PropertyFetchAnalyzer.php
(7.38 KB)
??
PropertyPresenceChecker.php
(5.91 KB)
??
ScopeAnalyzer.php
(683 B)
??
TerminatedNodeAnalyzer.php
(5.25 KB)
??
VariableAnalyzer.php
(603 B)
??
VariadicAnalyzer.php
(1.51 KB)
Editing: PropertyAnalyzer.php
<?php declare (strict_types=1); namespace Rector\NodeAnalyzer; use PhpParser\Node\Stmt\Property; use PHPStan\Type\CallableType; use PHPStan\Type\NullType; use PHPStan\Type\Type; use PHPStan\Type\TypeWithClassName; use PHPStan\Type\UnionType; use Rector\NodeTypeResolver\NodeTypeResolver; use Rector\StaticTypeMapper\ValueObject\Type\NonExistingObjectType; final class PropertyAnalyzer { /** * @readonly * @var \Rector\NodeTypeResolver\NodeTypeResolver */ private $nodeTypeResolver; public function __construct(NodeTypeResolver $nodeTypeResolver) { $this->nodeTypeResolver = $nodeTypeResolver; } public function hasForbiddenType(Property $property) : bool { $propertyType = $this->nodeTypeResolver->getType($property); if ($propertyType instanceof NullType) { return \true; } if ($this->isForbiddenType($propertyType)) { return \true; } if (!$propertyType instanceof UnionType) { return \false; } $types = $propertyType->getTypes(); foreach ($types as $type) { if ($this->isForbiddenType($type)) { return \true; } } return \false; } private function isForbiddenType(Type $type) : bool { if ($type instanceof NonExistingObjectType) { return \true; } return $this->isCallableType($type); } private function isCallableType(Type $type) : bool { if ($type instanceof TypeWithClassName && $type->getClassName() === 'Closure') { return \false; } return $type instanceof CallableType; } }
Upload File
Create Folder