Version 1
[yaffs-website] / vendor / symfony / css-selector / Exception / SyntaxErrorException.php
1 <?php
2
3 /*
4  * This file is part of the Symfony package.
5  *
6  * (c) Fabien Potencier <fabien@symfony.com>
7  *
8  * For the full copyright and license information, please view the LICENSE
9  * file that was distributed with this source code.
10  */
11
12 namespace Symfony\Component\CssSelector\Exception;
13
14 use Symfony\Component\CssSelector\Parser\Token;
15
16 /**
17  * ParseException is thrown when a CSS selector syntax is not valid.
18  *
19  * This component is a port of the Python cssselect library,
20  * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect.
21  *
22  * @author Jean-François Simon <jeanfrancois.simon@sensiolabs.com>
23  */
24 class SyntaxErrorException extends ParseException
25 {
26     /**
27      * @param string $expectedValue
28      * @param Token  $foundToken
29      *
30      * @return self
31      */
32     public static function unexpectedToken($expectedValue, Token $foundToken)
33     {
34         return new self(sprintf('Expected %s, but %s found.', $expectedValue, $foundToken));
35     }
36
37     /**
38      * @param string $pseudoElement
39      * @param string $unexpectedLocation
40      *
41      * @return self
42      */
43     public static function pseudoElementFound($pseudoElement, $unexpectedLocation)
44     {
45         return new self(sprintf('Unexpected pseudo-element "::%s" found %s.', $pseudoElement, $unexpectedLocation));
46     }
47
48     /**
49      * @param int $position
50      *
51      * @return self
52      */
53     public static function unclosedString($position)
54     {
55         return new self(sprintf('Unclosed/invalid string at %s.', $position));
56     }
57
58     /**
59      * @return self
60      */
61     public static function nestedNot()
62     {
63         return new self('Got nested ::not().');
64     }
65
66     /**
67      * @return self
68      */
69     public static function stringAsFunctionArgument()
70     {
71         return new self('String not allowed as function argument.');
72     }
73 }