opt
/
cpanel
/
ea-wappspector
/
vendor
/
rector
/
rector
/
rules
/
Transform
/
ValueObject
➕ New
📤 Upload
✎ Editing:
StaticCallToMethodCall.php
← Back
<?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; } }
💾 Save Changes
Cancel
📤 Upload File
×
Select File
Upload
Cancel
➕ Create New
×
Type
📄 File
📁 Folder
Name
Create
Cancel
✎ Rename Item
×
Current Name
New Name
Rename
Cancel
🔐 Change Permissions
×
Target File
Permission (e.g., 0755, 0644)
0755
0644
0777
Apply
Cancel