PHP 8.2.31
Preview: PromotedPropertyResolver.php Size: 801 B
//opt/cpanel/ea-wappspector/vendor/rector/rector/rules/Php80/NodeAnalyzer/PromotedPropertyResolver.php

<?php

declare (strict_types=1);
namespace Rector\Php80\NodeAnalyzer;

use PhpParser\Node\Param;
use PhpParser\Node\Stmt\Class_;
use PhpParser\Node\Stmt\ClassMethod;
use Rector\ValueObject\MethodName;
final class PromotedPropertyResolver
{
    /**
     * @return Param[]
     */
    public function resolveFromClass(Class_ $class) : array
    {
        $constructClassMethod = $class->getMethod(MethodName::CONSTRUCT);
        if (!$constructClassMethod instanceof ClassMethod) {
            return [];
        }
        $promotedPropertyParams = [];
        foreach ($constructClassMethod->getParams() as $param) {
            if ($param->flags === 0) {
                continue;
            }
            $promotedPropertyParams[] = $param;
        }
        return $promotedPropertyParams;
    }
}

Directory Contents

Dirs: 0 × Files: 5

Name Size Perms Modified Actions
5.64 KB lrw-r--r-- 2024-11-08 13:59:10
Edit Download
3.99 KB lrw-r--r-- 2024-11-08 13:59:10
Edit Download
5.95 KB lrw-r--r-- 2024-11-08 13:59:10
Edit Download
801 B lrw-r--r-- 2024-11-08 13:59:10
Edit Download
3.73 KB lrw-r--r-- 2024-11-08 13:59:10
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).