golden hour
/opt/cpanel/ea-wappspector/vendor/rector/rector/rules/CodeQuality/NodeFactory
⬆️ Go Up
Upload
File/Folder
Size
Actions
MissingPropertiesFactory.php
1.32 KB
Del
OK
PropertyTypeDecorator.php
1.51 KB
Del
OK
TypedPropertyFactory.php
1.83 KB
Del
OK
Edit: 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