🛸 XMAN Replicator
English
Русский
Français
Quit
Path:
/
opt
/
cpanel
/
ea-wappspector
/
vendor
/
rector
/
rector
/
rules
/
Privatization
/
VisibilityGuard
/
📋 نشر إلى المواقع
👤 إنشاء مشرف WP
Upload
Make directory
Name
Size
Rights
Date
Actions
[.]
<DIR>
drwxr-xr-x
2024-11-08 13:59
🔄
🗑️
🗑️📁
⬇️
🔒
[..]
<DIR>
drwxr-xr-x
2024-11-08 13:59
🔄
🗑️
🗑️📁
⬇️
🔒
ClassMethodVisibilityGuard.php
2,111 B
-rw-r--r--
2024-11-08 13:59
✏️
🔄
🗑️
⬇️
🔒
Edit: ClassMethodVisibilityGuard.php
<?php declare (strict_types=1); namespace Rector\Privatization\VisibilityGuard; use PhpParser\Node\Stmt\ClassMethod; use PHPStan\Reflection\ClassReflection; use Rector\NodeNameResolver\NodeNameResolver; final class ClassMethodVisibilityGuard { /** * @readonly * @var \Rector\NodeNameResolver\NodeNameResolver */ private $nodeNameResolver; public function __construct(NodeNameResolver $nodeNameResolver) { $this->nodeNameResolver = $nodeNameResolver; } public function isClassMethodVisibilityGuardedByParent(ClassMethod $classMethod, ClassReflection $classReflection) : bool { $methodName = $this->nodeNameResolver->getName($classMethod); /** @var ClassReflection[] $parentClassReflections */ $parentClassReflections = \array_merge($classReflection->getParents(), $classReflection->getInterfaces()); foreach ($parentClassReflections as $parentClassReflection) { if ($parentClassReflection->hasMethod($methodName)) { return \true; } } return \false; } public function isClassMethodVisibilityGuardedByTrait(ClassMethod $classMethod, ClassReflection $classReflection) : bool { $parentTraitReflections = $this->getLocalAndParentTraitReflections($classReflection); $methodName = $this->nodeNameResolver->getName($classMethod); foreach ($parentTraitReflections as $parentTraitReflection) { if ($parentTraitReflection->hasMethod($methodName)) { return \true; } } return \false; } /** * @return ClassReflection[] */ private function getLocalAndParentTraitReflections(ClassReflection $classReflection) : array { $traitReflections = $classReflection->getTraits(); foreach ($classReflection->getParents() as $parentClassReflection) { foreach ($parentClassReflection->getTraits() as $parentTraitReflection) { $traitReflections[] = $parentTraitReflection; } } return $traitReflections; } }
Save
PHP Console
Execute
SQL Console
Execute