aboutsummaryrefslogtreecommitdiff
path: root/srcs/phpmyadmin/vendor/symfony/expression-language/SyntaxError.php
diff options
context:
space:
mode:
Diffstat (limited to 'srcs/phpmyadmin/vendor/symfony/expression-language/SyntaxError.php')
-rw-r--r--srcs/phpmyadmin/vendor/symfony/expression-language/SyntaxError.php41
1 files changed, 41 insertions, 0 deletions
diff --git a/srcs/phpmyadmin/vendor/symfony/expression-language/SyntaxError.php b/srcs/phpmyadmin/vendor/symfony/expression-language/SyntaxError.php
new file mode 100644
index 0000000..d3313b8
--- /dev/null
+++ b/srcs/phpmyadmin/vendor/symfony/expression-language/SyntaxError.php
@@ -0,0 +1,41 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\ExpressionLanguage;
+
+class SyntaxError extends \LogicException
+{
+ public function __construct(string $message, int $cursor = 0, string $expression = '', string $subject = null, array $proposals = null)
+ {
+ $message = sprintf('%s around position %d', $message, $cursor);
+ if ($expression) {
+ $message = sprintf('%s for expression `%s`', $message, $expression);
+ }
+ $message .= '.';
+
+ if (null !== $subject && null !== $proposals) {
+ $minScore = INF;
+ foreach ($proposals as $proposal) {
+ $distance = levenshtein($subject, $proposal);
+ if ($distance < $minScore) {
+ $guess = $proposal;
+ $minScore = $distance;
+ }
+ }
+
+ if (isset($guess) && $minScore < 3) {
+ $message .= sprintf(' Did you mean "%s"?', $guess);
+ }
+ }
+
+ parent::__construct($message);
+ }
+}