%PDF- %PDF-
Direktori : /var/www/html/shaban/laviva/wp-content/plugins/loco-translate/src/error/ |
Current File : /var/www/html/shaban/laviva/wp-content/plugins/loco-translate/src/error/ParseException.php |
<?php /** * */ class Loco_error_ParseException extends Loco_error_Exception { /** * @var string */ private $context; /** * @param int line number * @param int column number * @param string source in which to identify line and column * @return self */ public function setContext( $line, $column, $source ){ $this->context = null; // If line given as 0 then treat column as offset in an unknown number of lines if( 0 === $line ){ $lines = preg_split( '/\\r?\\n/', substr($source,0,$column)); $line = count($lines); $column = strlen( end($lines) ); } // get line of source code where error is and construct a ____^ thingy to show error on next line // this requires that full source is passed in, so line number must be real if( loco_debugging() ){ $lines = preg_split( '/\\r?\\n/', $source, $line+1 ); $offset = $line - 1; if( isset($lines[$offset]) ){ $this->context = $lines[$offset] ."\n". str_repeat(' ', max(0,$column) ).'^'; } } // wrap initial message with context data $this->message = sprintf("Error at line %u, column %u: %s", $line, $column, $this->message ); return $this; } /** * @return string */ public function getContext(){ return $this->context; } }