4 * This file is part of Psy Shell.
6 * (c) 2012-2017 Justin Hileman
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
12 namespace Psy\Exception;
15 * A "parse error" Exception for Psy.
17 class ParseErrorException extends \PhpParser\Error implements Exception
22 * @param string $message (default: "")
23 * @param int $line (default: -1)
25 public function __construct($message = '', $line = -1)
27 $message = sprintf('PHP Parse error: %s', $message);
28 parent::__construct($message, $line);
32 * Create a ParseErrorException from a PhpParser Error.
34 * @param \PhpParser\Error $e
36 * @return ParseErrorException
38 public static function fromParseError(\PhpParser\Error $e)
40 return new self($e->getRawMessage(), $e->getStartLine());