<?php/* * This file is part of Psy Shell. * * (c) 2012-2015 Justin Hileman * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */namespacePsy\CodeCleaner;usePhpParser\Node;usePhpParser\Node\Arg;usePhpParser\Node\Expr\Exit_;usePhpParser\Node\Expr\New_;usePhpParser\Node\Name;usePhpParser\Node\Scalar\String_;usePhpParser\Node\Stmt\Throw_;classExitPassextendsCodeCleanerPass{/** * Converts exit calls to BreakExceptions. * * @param \PhpParser\Node $node */publicfunctionleaveNode(Node$node){if($nodeinstanceofExit_){$args=array(newArg(newString_('Goodbye.')));returnnewThrow_(newNew_(newName('Psy\Exception\BreakException'),$args));}}}