%PDF- %PDF-
Direktori : /home/vacivi36/code/vendor/rector/rector/packages/ReadWrite/NodeAnalyzer/ |
Current File : /home/vacivi36/code/vendor/rector/rector/packages/ReadWrite/NodeAnalyzer/ReadExprAnalyzer.php |
<?php declare (strict_types=1); namespace Rector\ReadWrite\NodeAnalyzer; use PhpParser\Node\Expr; use Rector\Core\Exception\NotImplementedYetException; use Rector\ReadWrite\Contract\ReadNodeAnalyzerInterface; final class ReadExprAnalyzer { /** * @var ReadNodeAnalyzerInterface[] * @readonly */ private $readNodeAnalyzers; /** * @param ReadNodeAnalyzerInterface[] $readNodeAnalyzers */ public function __construct(array $readNodeAnalyzers) { $this->readNodeAnalyzers = $readNodeAnalyzers; } /** * Is the value read or used for read purpose (at least, not only) */ public function isExprRead(Expr $expr) : bool { foreach ($this->readNodeAnalyzers as $readNodeAnalyzer) { if (!$readNodeAnalyzer->supports($expr)) { continue; } return $readNodeAnalyzer->isRead($expr); } throw new NotImplementedYetException(\get_class($expr)); } }