![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/cartforge.co/vendor/rector/rector/src/Skipper/Skipper/ |
<?php declare (strict_types=1); namespace Rector\Skipper\Skipper; use PhpParser\Node; use Rector\Contract\Rector\RectorInterface; use Rector\ProcessAnalyzer\RectifiedAnalyzer; use Rector\Skipper\SkipVoter\ClassSkipVoter; /** * @api * @see \Rector\Tests\Skipper\Skipper\SkipperTest */ final class Skipper { /** * @readonly * @var \Rector\ProcessAnalyzer\RectifiedAnalyzer */ private $rectifiedAnalyzer; /** * @readonly * @var \Rector\Skipper\Skipper\PathSkipper */ private $pathSkipper; /** * @readonly * @var \Rector\Skipper\SkipVoter\ClassSkipVoter */ private $classSkipVoter; public function __construct(RectifiedAnalyzer $rectifiedAnalyzer, \Rector\Skipper\Skipper\PathSkipper $pathSkipper, ClassSkipVoter $classSkipVoter) { $this->rectifiedAnalyzer = $rectifiedAnalyzer; $this->pathSkipper = $pathSkipper; $this->classSkipVoter = $classSkipVoter; } /** * @param string|object $element */ public function shouldSkipElement($element) : bool { return $this->shouldSkipElementAndFilePath($element, __FILE__); } public function shouldSkipFilePath(string $filePath) : bool { return $this->pathSkipper->shouldSkip($filePath); } /** * @param string|object $element */ public function shouldSkipElementAndFilePath($element, string $filePath) : bool { if (!$this->classSkipVoter->match($element)) { return \false; } return $this->classSkipVoter->shouldSkip($element, $filePath); } /** * @param class-string<RectorInterface> $rectorClass * @param string|object $element */ public function shouldSkipCurrentNode($element, string $filePath, string $rectorClass, Node $node) : bool { if ($this->shouldSkipElementAndFilePath($element, $filePath)) { return \true; } return $this->rectifiedAnalyzer->hasRectified($rectorClass, $node); } }