You are here

class ParseException in Lockr 7.3

Exception class thrown when an error occurs during parsing.

@author Fabien Potencier <fabien@symfony.com>

Hierarchy

Expanded class hierarchy of ParseException

8 files declare their use of ParseException
Inline.php in vendor/symfony/yaml/Inline.php
InlineTest.php in vendor/symfony/yaml/Tests/InlineTest.php
LintCommand.php in vendor/symfony/yaml/Command/LintCommand.php
ParseExceptionTest.php in vendor/symfony/yaml/Tests/ParseExceptionTest.php
Parser.php in vendor/symfony/yaml/Parser.php

... See full list

File

vendor/symfony/yaml/Exception/ParseException.php, line 19

Namespace

Symfony\Component\Yaml\Exception
View source
class ParseException extends RuntimeException {
  private $parsedFile;
  private $parsedLine;
  private $snippet;
  private $rawMessage;

  /**
   * @param string          $message    The error message
   * @param int             $parsedLine The line where the error occurred
   * @param string|null     $snippet    The snippet of code near the problem
   * @param string|null     $parsedFile The file name where the error occurred
   * @param \Exception|null $previous   The previous exception
   */
  public function __construct($message, $parsedLine = -1, $snippet = null, $parsedFile = null, \Exception $previous = null) {
    $this->parsedFile = $parsedFile;
    $this->parsedLine = $parsedLine;
    $this->snippet = $snippet;
    $this->rawMessage = $message;
    $this
      ->updateRepr();
    parent::__construct($this->message, 0, $previous);
  }

  /**
   * Gets the snippet of code near the error.
   *
   * @return string The snippet of code
   */
  public function getSnippet() {
    return $this->snippet;
  }

  /**
   * Sets the snippet of code near the error.
   *
   * @param string $snippet The code snippet
   */
  public function setSnippet($snippet) {
    $this->snippet = $snippet;
    $this
      ->updateRepr();
  }

  /**
   * Gets the filename where the error occurred.
   *
   * This method returns null if a string is parsed.
   *
   * @return string The filename
   */
  public function getParsedFile() {
    return $this->parsedFile;
  }

  /**
   * Sets the filename where the error occurred.
   *
   * @param string $parsedFile The filename
   */
  public function setParsedFile($parsedFile) {
    $this->parsedFile = $parsedFile;
    $this
      ->updateRepr();
  }

  /**
   * Gets the line where the error occurred.
   *
   * @return int The file line
   */
  public function getParsedLine() {
    return $this->parsedLine;
  }

  /**
   * Sets the line where the error occurred.
   *
   * @param int $parsedLine The file line
   */
  public function setParsedLine($parsedLine) {
    $this->parsedLine = $parsedLine;
    $this
      ->updateRepr();
  }
  private function updateRepr() {
    $this->message = $this->rawMessage;
    $dot = false;
    if ('.' === substr($this->message, -1)) {
      $this->message = substr($this->message, 0, -1);
      $dot = true;
    }
    if (null !== $this->parsedFile) {
      $this->message .= sprintf(' in %s', json_encode($this->parsedFile, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE));
    }
    if ($this->parsedLine >= 0) {
      $this->message .= sprintf(' at line %d', $this->parsedLine);
    }
    if ($this->snippet) {
      $this->message .= sprintf(' (near "%s")', $this->snippet);
    }
    if ($dot) {
      $this->message .= '.';
    }
  }

}

Members

Namesort descending Modifiers Type Description Overrides
ParseException::$parsedFile private property
ParseException::$parsedLine private property
ParseException::$rawMessage private property
ParseException::$snippet private property
ParseException::getParsedFile public function Gets the filename where the error occurred.
ParseException::getParsedLine public function Gets the line where the error occurred.
ParseException::getSnippet public function Gets the snippet of code near the error.
ParseException::setParsedFile public function Sets the filename where the error occurred.
ParseException::setParsedLine public function Sets the line where the error occurred.
ParseException::setSnippet public function Sets the snippet of code near the error.
ParseException::updateRepr private function
ParseException::__construct public function