Файл: vendor/psy/psysh/src/CodeCleaner/ExitPass.php
Строк: 32
<?php
/*
* This file is part of Psy Shell.
*
* (c) 2012-2022 Justin Hileman
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace PsyCodeCleaner;
use PhpParserNode;
use PhpParserNodeExprExit_;
use PhpParserNodeExprStaticCall;
use PhpParserNodeNameFullyQualified as FullyQualifiedName;
use PsyExceptionBreakException;
class ExitPass extends CodeCleanerPass
{
/**
* Converts exit calls to BreakExceptions.
*
* @param PhpParserNode $node
*
* @return int|Node|Node[]|null Replacement node (or special return value)
*/
public function leaveNode(Node $node)
{
if ($node instanceof Exit_) {
return new StaticCall(new FullyQualifiedName(BreakException::class), 'exitShell');
}
}
}