70 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			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;
 | 
						|
        }
 | 
						|
    }
 | 
						|
} |