X7ROOT File Manager
Current Path:
/opt/cpanel/ea-wappspector/vendor/rector/rector/src/NodeManipulator
opt
/
cpanel
/
ea-wappspector
/
vendor
/
rector
/
rector
/
src
/
NodeManipulator
/
??
..
??
AssignManipulator.php
(2.92 KB)
??
BinaryOpManipulator.php
(4.83 KB)
??
ClassConstManipulator.php
(2.61 KB)
??
ClassDependencyManipulator.php
(9.08 KB)
??
ClassInsertManipulator.php
(2.61 KB)
??
ClassManipulator.php
(1.79 KB)
??
ClassMethodAssignManipulator.php
(1.85 KB)
??
ClassMethodManipulator.php
(2.18 KB)
??
ClassMethodPropertyFetchManipulator.php
(4.25 KB)
??
FuncCallManipulator.php
(1.08 KB)
??
FunctionLikeManipulator.php
(755 B)
??
IfManipulator.php
(6.19 KB)
??
PropertyFetchAssignManipulator.php
(2.46 KB)
??
PropertyManipulator.php
(8.65 KB)
??
StmtsManipulator.php
(3.08 KB)
Editing: ClassConstManipulator.php
<?php declare (strict_types=1); namespace Rector\NodeManipulator; use PhpParser\Node; use PhpParser\Node\Expr\ClassConstFetch; use PhpParser\Node\Stmt\ClassConst; use PhpParser\Node\Stmt\ClassLike; use PHPStan\Reflection\ClassReflection; use Rector\NodeNameResolver\NodeNameResolver; use Rector\PhpParser\AstResolver; use Rector\PhpParser\Node\BetterNodeFinder; final class ClassConstManipulator { /** * @readonly * @var \Rector\PhpParser\Node\BetterNodeFinder */ private $betterNodeFinder; /** * @readonly * @var \Rector\NodeNameResolver\NodeNameResolver */ private $nodeNameResolver; /** * @readonly * @var \Rector\PhpParser\AstResolver */ private $astResolver; public function __construct(BetterNodeFinder $betterNodeFinder, NodeNameResolver $nodeNameResolver, AstResolver $astResolver) { $this->betterNodeFinder = $betterNodeFinder; $this->nodeNameResolver = $nodeNameResolver; $this->astResolver = $astResolver; } public function hasClassConstFetch(ClassConst $classConst, ClassReflection $classReflection) : bool { if (!$classReflection->isClass() && !$classReflection->isEnum()) { return \true; } $className = $classReflection->getName(); foreach ($classReflection->getAncestors() as $ancestorClassReflection) { $ancestorClass = $this->astResolver->resolveClassFromClassReflection($ancestorClassReflection); if (!$ancestorClass instanceof ClassLike) { continue; } // has in class? $isClassConstFetchFound = (bool) $this->betterNodeFinder->findFirst($ancestorClass, function (Node $node) use($classConst, $className) : bool { // property + static fetch if (!$node instanceof ClassConstFetch) { return \false; } return $this->isNameMatch($node, $classConst, $className); }); if ($isClassConstFetchFound) { return \true; } } return \false; } private function isNameMatch(ClassConstFetch $classConstFetch, ClassConst $classConst, string $className) : bool { $classConstName = (string) $this->nodeNameResolver->getName($classConst); $selfConstantName = 'self::' . $classConstName; $staticConstantName = 'static::' . $classConstName; $classNameConstantName = $className . '::' . $classConstName; return $this->nodeNameResolver->isNames($classConstFetch, [$selfConstantName, $staticConstantName, $classNameConstantName]); } }
Upload File
Create Folder