mirror of
https://github.com/rectorphp/rector.git
synced 2025-01-17 13:28:18 +01:00
7e7a2f067a
476cfb00cb
disable fallback for now
31 lines
801 B
PHP
31 lines
801 B
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;
|
|
}
|
|
}
|