X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs-website;a=blobdiff_plain;f=vendor%2Fpsy%2Fpsysh%2Fsrc%2FPsy%2FCodeCleaner%2FFunctionReturnInWriteContextPass.php;fp=vendor%2Fpsy%2Fpsysh%2Fsrc%2FPsy%2FCodeCleaner%2FFunctionReturnInWriteContextPass.php;h=0000000000000000000000000000000000000000;hp=42aae5ec9ba70832371d6412606e5d8af8193dbe;hb=af6d1fb995500ae68849458ee10d66abbdcfb252;hpb=680c79a86e3ed402f263faeac92e89fb6d9edcc0 diff --git a/vendor/psy/psysh/src/Psy/CodeCleaner/FunctionReturnInWriteContextPass.php b/vendor/psy/psysh/src/Psy/CodeCleaner/FunctionReturnInWriteContextPass.php deleted file mode 100644 index 42aae5ec9..000000000 --- a/vendor/psy/psysh/src/Psy/CodeCleaner/FunctionReturnInWriteContextPass.php +++ /dev/null @@ -1,81 +0,0 @@ - - */ -class FunctionReturnInWriteContextPass extends CodeCleanerPass -{ - const PHP55_MESSAGE = 'Cannot use isset() on the result of a function call (you can use "null !== func()" instead)'; - const EXCEPTION_MESSAGE = "Can't use function return value in write context"; - - private $isPhp55; - - public function __construct() - { - $this->isPhp55 = version_compare(PHP_VERSION, '5.5', '>='); - } - - /** - * Validate that the functions are used correctly. - * - * @throws FatalErrorException if a function is passed as an argument reference - * @throws FatalErrorException if a function is used as an argument in the isset - * @throws FatalErrorException if a function is used as an argument in the empty, only for PHP < 5.5 - * @throws FatalErrorException if a value is assigned to a function - * - * @param Node $node - */ - public function enterNode(Node $node) - { - if ($node instanceof Array_ || $this->isCallNode($node)) { - $items = $node instanceof Array_ ? $node->items : $node->args; - foreach ($items as $item) { - if ($item && $item->byRef && $this->isCallNode($item->value)) { - throw new FatalErrorException(self::EXCEPTION_MESSAGE, 0, E_ERROR, null, $node->getLine()); - } - } - } elseif ($node instanceof Isset_ || $node instanceof Unset_) { - foreach ($node->vars as $var) { - if (!$this->isCallNode($var)) { - continue; - } - - $msg = ($node instanceof Isset_ && $this->isPhp55) ? self::PHP55_MESSAGE : self::EXCEPTION_MESSAGE; - throw new FatalErrorException($msg, 0, E_ERROR, null, $node->getLine()); - } - } elseif ($node instanceof Empty_ && !$this->isPhp55 && $this->isCallNode($node->expr)) { - throw new FatalErrorException(self::EXCEPTION_MESSAGE, 0, E_ERROR, null, $node->getLine()); - } elseif ($node instanceof Assign && $this->isCallNode($node->var)) { - throw new FatalErrorException(self::EXCEPTION_MESSAGE, 0, E_ERROR, null, $node->getLine()); - } - } - - private function isCallNode(Node $node) - { - return $node instanceof FuncCall || $node instanceof MethodCall || $node instanceof StaticCall; - } -}