mirror of
https://github.com/phabelio/PHP-Parser.git
synced 2024-12-13 17:47:23 +01:00
70 lines
1.6 KiB
PHP
70 lines
1.6 KiB
PHP
|
<?php
|
||
|
|
||
|
class ParseErrorException extends RuntimeException
|
||
|
{
|
||
|
protected $rawMessage;
|
||
|
protected $rawLine;
|
||
|
|
||
|
/**
|
||
|
* Creates an Exception signifying a parse error.
|
||
|
*
|
||
|
* @param string $message Error message
|
||
|
* @param int $line Error line in PHP file
|
||
|
*/
|
||
|
public function __construct($message, $line = -1) {
|
||
|
$this->rawMessage = (string) $message;
|
||
|
$this->rawLine = (int) $line;
|
||
|
$this->updateMessage();
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Gets the error message
|
||
|
*
|
||
|
* @return string Error message
|
||
|
*/
|
||
|
public function getRawMessage() {
|
||
|
return $this->message;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Sets the line of the PHP file the error occurred in.
|
||
|
*
|
||
|
* @param string $message Error message
|
||
|
*/
|
||
|
public function setRawMessage($message) {
|
||
|
$this->message = (string) $message;
|
||
|
$this->updateMessage();
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Gets the error line in the PHP file.
|
||
|
*
|
||
|
* @return int Error line in the PHP file
|
||
|
*/
|
||
|
public function getRawLine() {
|
||
|
return $this->rawLine;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Sets the line of the PHP file the error occurred in.
|
||
|
*
|
||
|
* @param int $line Error line in the PHP file
|
||
|
*/
|
||
|
public function setRawLine($line) {
|
||
|
$this->rawLine = (int) $line;
|
||
|
$this->updateMessage();
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Updates the exception message after a change to rawMessage or rawLine.
|
||
|
*/
|
||
|
protected function updateMessage() {
|
||
|
$this->message = $this->rawMessage;
|
||
|
|
||
|
if (-1 === $this->rawLine) {
|
||
|
$this->message .= ' on unknown line';
|
||
|
} else {
|
||
|
$this->message .= ' on line ' . $this->rawLine;
|
||
|
}
|
||
|
}
|
||
|
}
|