93d0d3c9fc898aee3f350a9cd4b1164d3b170226
[yaffs-website] / vendor / psy / psysh / src / Exception / ParseErrorException.php
1 <?php
2
3 /*
4  * This file is part of Psy Shell.
5  *
6  * (c) 2012-2018 Justin Hileman
7  *
8  * For the full copyright and license information, please view the LICENSE
9  * file that was distributed with this source code.
10  */
11
12 namespace Psy\Exception;
13
14 /**
15  * A "parse error" Exception for Psy.
16  */
17 class ParseErrorException extends \PhpParser\Error implements Exception
18 {
19     /**
20      * Constructor!
21      *
22      * @param string $message (default: "")
23      * @param int    $line    (default: -1)
24      */
25     public function __construct($message = '', $line = -1)
26     {
27         $message = sprintf('PHP Parse error: %s', $message);
28         parent::__construct($message, $line);
29     }
30
31     /**
32      * Create a ParseErrorException from a PhpParser Error.
33      *
34      * @param \PhpParser\Error $e
35      *
36      * @return ParseErrorException
37      */
38     public static function fromParseError(\PhpParser\Error $e)
39     {
40         return new self($e->getRawMessage(), $e->getStartLine());
41     }
42 }