PATH:
opt
/
cpanel
/
ea-wappspector
/
vendor
/
rector
/
rector
/
rules
/
Transform
/
ValueObject
<?php declare (strict_types=1); namespace Rector\Transform\ValueObject; use PhpParser\Node\Expr\StaticCall; use PhpParser\Node\Identifier; use PhpParser\Node\Name; use PHPStan\Type\ObjectType; use Rector\Validation\RectorAssert; final class StaticCallToMethodCall { /** * @readonly * @var string */ private $staticClass; /** * @readonly * @var string */ private $staticMethod; /** * @readonly * @var string */ private $classType; /** * @readonly * @var string */ private $methodName; public function __construct(string $staticClass, string $staticMethod, string $classType, string $methodName) { $this->staticClass = $staticClass; $this->staticMethod = $staticMethod; $this->classType = $classType; $this->methodName = $methodName; RectorAssert::className($staticClass); // special char to match all method names if ($staticMethod !== '*') { RectorAssert::methodName($staticMethod); } RectorAssert::className($classType); if ($methodName !== '*') { RectorAssert::methodName($methodName); } } public function getClassObjectType() : ObjectType { return new ObjectType($this->classType); } public function getClassType() : string { return $this->classType; } public function getMethodName() : string { return $this->methodName; } public function isStaticCallMatch(StaticCall $staticCall) : bool { if (!$staticCall->class instanceof Name) { return \false; } $staticCallClassName = $staticCall->class->toString(); if ($staticCallClassName !== $this->staticClass) { return \false; } if (!$staticCall->name instanceof Identifier) { return \false; } // all methods if ($this->staticMethod === '*') { return \true; } $staticCallMethodName = $staticCall->name->toString(); return $staticCallMethodName === $this->staticMethod; } }
[-] ScalarValueToConstFetch.php
[edit]
[-] PropertyFetchToMethodCall.php
[edit]
[-] ArrayDimFetchToMethodCall.php
[edit]
[-] AttributeKeyToClassConstFetch.php
[edit]
[-] MethodCallToPropertyFetch.php
[edit]
[+]
..
[-] MethodCallToNew.php
[edit]
[-] FuncCallToMethodCall.php
[edit]
[-] ParentClassToTraits.php
[edit]
[-] PropertyAssignToMethodCall.php
[edit]
[-] ClassMethodReference.php
[edit]
[-] ConstFetchToClassConstFetch.php
[edit]
[-] MethodCallToFuncCall.php
[edit]
[-] StaticCallToMethodCall.php
[edit]
[-] MethodCallToStaticCall.php
[edit]
[-] StaticCallToFuncCall.php
[edit]
[-] StringToClassConstant.php
[edit]
[-] NewToStaticCall.php
[edit]
[-] FuncCallToStaticCall.php
[edit]
[-] WrapReturn.php
[edit]
[-] ReplaceParentCallByPropertyCall.php
[edit]
[-] StaticCallToNew.php
[edit]