<?php namespace JmesPath; /** * Syntax errors raise this exception that gives context */ class SyntaxErrorException extends \InvalidArgumentException { /** * @param string $expectedTypesOrMessage Expected array of tokens or message * @param array $token Current token * @param string $expression Expression input */ public function __construct( $expectedTypesOrMessage, array $token, $expression ) { $message = "Syntax error at character {$token['pos']}\n" . $expression . "\n" . str_repeat(' ', max($token['pos'], 0)) . "^\n"; $message .= !is_array($expectedTypesOrMessage) ? $expectedTypesOrMessage : $this->createTokenMessage($token, $expectedTypesOrMessage); parent::__construct($message); } private function createTokenMessage(array $token, array $valid) { return sprintf( 'Expected one of the following: %s; found %s "%s"', implode(', ', array_keys($valid)), $token['type'], $token['value'] ); } }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
AstRuntime.php | File | 1.43 KB | 0644 |
|
CompilerRuntime.php | File | 2.56 KB | 0644 |
|
DebugRuntime.php | File | 3.11 KB | 0644 |
|
Env.php | File | 2.42 KB | 0644 |
|
FnDispatcher.php | File | 12.18 KB | 0644 |
|
JmesPath.php | File | 373 B | 0644 |
|
Lexer.php | File | 14.9 KB | 0644 |
|
Parser.php | File | 13.89 KB | 0644 |
|
SyntaxErrorException.php | File | 1.11 KB | 0644 |
|
TreeCompiler.php | File | 12.78 KB | 0644 |
|
TreeInterpreter.php | File | 7.65 KB | 0644 |
|
Utils.php | File | 7.27 KB | 0644 |
|