BossBey File Manager
PHP:
7.4.33
OS:
Linux
User:
root
Root
/
opt
/
cpanel
/
ea-wappspector
/
vendor
/
rector
/
rector
/
rules
/
CodeQuality
/
NodeFactory
📤 Upload
📝 New File
📁 New Folder
Close
Editing: MissingPropertiesFactory.php
<?php declare (strict_types=1); namespace Rector\CodeQuality\NodeFactory; use PhpParser\Node\Stmt\Class_; use PhpParser\Node\Stmt\Property; use PhpParser\Node\Stmt\PropertyProperty; use PHPStan\Type\Type; final class MissingPropertiesFactory { /** * @readonly * @var \Rector\CodeQuality\NodeFactory\PropertyTypeDecorator */ private $propertyTypeDecorator; public function __construct(\Rector\CodeQuality\NodeFactory\PropertyTypeDecorator $propertyTypeDecorator) { $this->propertyTypeDecorator = $propertyTypeDecorator; } /** * @param array<string, Type> $fetchedLocalPropertyNameToTypes * @param string[] $propertyNamesToComplete * @return Property[] */ public function create(array $fetchedLocalPropertyNameToTypes, array $propertyNamesToComplete) : array { $newProperties = []; foreach ($fetchedLocalPropertyNameToTypes as $propertyName => $propertyType) { if (!\in_array($propertyName, $propertyNamesToComplete, \true)) { continue; } $property = new Property(Class_::MODIFIER_PUBLIC, [new PropertyProperty($propertyName)]); $this->propertyTypeDecorator->decorateProperty($property, $propertyType); $newProperties[] = $property; } return $newProperties; } }
Save
Cancel