php-parser/lib/PHPParser/Error.php
2011-11-27 21:50:19 +01:00

70 lines
1.7 KiB
PHP

<?php
class PHPParser_Error 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->rawMessage;
}
/**
* Sets the line of the PHP file the error occurred in.
*
* @param string $message Error message
*/
public function setRawMessage($message) {
$this->rawMessage = (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;
}
}
}