From 26f65093617e0d118aad0b3e0f0ff191815c877b Mon Sep 17 00:00:00 2001 From: Amrouche Hamza Date: Wed, 3 Jul 2019 20:11:09 +0200 Subject: [PATCH] [ExpressionLanguage] [5.0] add type-hints whenever possible --- .../Component/ExpressionLanguage/Compiler.php | 8 ++------ .../ExpressionLanguage/ExpressionFunction.php | 3 +-- .../ExpressionLanguage/ExpressionLanguage.php | 12 ++++-------- src/Symfony/Component/ExpressionLanguage/Lexer.php | 4 +--- src/Symfony/Component/ExpressionLanguage/Parser.php | 7 ++----- src/Symfony/Component/ExpressionLanguage/Token.php | 5 ++--- .../Component/ExpressionLanguage/TokenStream.php | 3 +-- 7 files changed, 13 insertions(+), 29 deletions(-) diff --git a/src/Symfony/Component/ExpressionLanguage/Compiler.php b/src/Symfony/Component/ExpressionLanguage/Compiler.php index 604f04c6f0be1..017ac002f5f5b 100644 --- a/src/Symfony/Component/ExpressionLanguage/Compiler.php +++ b/src/Symfony/Component/ExpressionLanguage/Compiler.php @@ -78,11 +78,9 @@ public function subcompile(Node\Node $node) /** * Adds a raw string to the compiled code. * - * @param string $string The string - * * @return $this */ - public function raw($string) + public function raw(string $string) { $this->source .= $string; @@ -92,11 +90,9 @@ public function raw($string) /** * Adds a quoted string to the compiled code. * - * @param string $value The string - * * @return $this */ - public function string($value) + public function string(string $value) { $this->source .= sprintf('"%s"', addcslashes($value, "\0\t\"\$\\")); diff --git a/src/Symfony/Component/ExpressionLanguage/ExpressionFunction.php b/src/Symfony/Component/ExpressionLanguage/ExpressionFunction.php index 2bc91e8d038e0..7408ff2fcf3bf 100644 --- a/src/Symfony/Component/ExpressionLanguage/ExpressionFunction.php +++ b/src/Symfony/Component/ExpressionLanguage/ExpressionFunction.php @@ -64,7 +64,6 @@ public function getEvaluator() /** * Creates an ExpressionFunction from a PHP function name. * - * @param string $phpFunctionName The PHP function name * @param string|null $expressionFunctionName The expression function name (default: same than the PHP function name) * * @return self @@ -73,7 +72,7 @@ public function getEvaluator() * @throws \InvalidArgumentException if given PHP function name is in namespace * and expression function name is not defined */ - public static function fromPhp($phpFunctionName, $expressionFunctionName = null) + public static function fromPhp(string $phpFunctionName, string $expressionFunctionName = null) { $phpFunctionName = ltrim($phpFunctionName, '\\'); if (!\function_exists($phpFunctionName)) { diff --git a/src/Symfony/Component/ExpressionLanguage/ExpressionLanguage.php b/src/Symfony/Component/ExpressionLanguage/ExpressionLanguage.php index 51a01689a678e..834e66637201f 100644 --- a/src/Symfony/Component/ExpressionLanguage/ExpressionLanguage.php +++ b/src/Symfony/Component/ExpressionLanguage/ExpressionLanguage.php @@ -45,11 +45,10 @@ public function __construct(CacheItemPoolInterface $cache = null, array $provide * Compiles an expression source code. * * @param Expression|string $expression The expression to compile - * @param array $names An array of valid names * * @return string The compiled PHP source code */ - public function compile($expression, $names = []) + public function compile($expression, array $names = []) { return $this->getCompiler()->compile($this->parse($expression, $names)->getNodes())->getSource(); } @@ -58,11 +57,10 @@ public function compile($expression, $names = []) * Evaluate an expression. * * @param Expression|string $expression The expression to compile - * @param array $values An array of values * * @return mixed The result of the evaluation of the expression */ - public function evaluate($expression, $values = []) + public function evaluate($expression, array $values = []) { return $this->parse($expression, array_keys($values))->getNodes()->evaluate($this->functions, $values); } @@ -71,11 +69,10 @@ public function evaluate($expression, $values = []) * Parses an expression. * * @param Expression|string $expression The expression to parse - * @param array $names An array of valid names * * @return ParsedExpression A ParsedExpression instance */ - public function parse($expression, $names) + public function parse($expression, array $names) { if ($expression instanceof ParsedExpression) { return $expression; @@ -104,7 +101,6 @@ public function parse($expression, $names) /** * Registers a function. * - * @param string $name The function name * @param callable $compiler A callable able to compile the function * @param callable $evaluator A callable able to evaluate the function * @@ -112,7 +108,7 @@ public function parse($expression, $names) * * @see ExpressionFunction */ - public function register($name, callable $compiler, callable $evaluator) + public function register(string $name, callable $compiler, callable $evaluator) { if (null !== $this->parser) { throw new \LogicException('Registering functions after calling evaluate(), compile() or parse() is not supported.'); diff --git a/src/Symfony/Component/ExpressionLanguage/Lexer.php b/src/Symfony/Component/ExpressionLanguage/Lexer.php index 48b15ffe7c235..b6caeb3a7a592 100644 --- a/src/Symfony/Component/ExpressionLanguage/Lexer.php +++ b/src/Symfony/Component/ExpressionLanguage/Lexer.php @@ -21,13 +21,11 @@ class Lexer /** * Tokenizes an expression. * - * @param string $expression The expression to tokenize - * * @return TokenStream A token stream instance * * @throws SyntaxError */ - public function tokenize($expression) + public function tokenize(string $expression) { $expression = str_replace(["\r", "\n", "\t", "\v", "\f"], ' ', $expression); $cursor = 0; diff --git a/src/Symfony/Component/ExpressionLanguage/Parser.php b/src/Symfony/Component/ExpressionLanguage/Parser.php index 0930bac2eff9d..255f01ed462f7 100644 --- a/src/Symfony/Component/ExpressionLanguage/Parser.php +++ b/src/Symfony/Component/ExpressionLanguage/Parser.php @@ -85,14 +85,11 @@ public function __construct(array $functions) * variable 'container' can be used in the expression * but the compiled code will use 'this'. * - * @param TokenStream $stream A token stream instance - * @param array $names An array of valid names - * * @return Node\Node A node tree * * @throws SyntaxError */ - public function parse(TokenStream $stream, $names = []) + public function parse(TokenStream $stream, array $names = []) { $this->stream = $stream; $this->names = $names; @@ -105,7 +102,7 @@ public function parse(TokenStream $stream, $names = []) return $node; } - public function parseExpression($precedence = 0) + public function parseExpression(int $precedence = 0) { $expr = $this->getPrimary(); $token = $this->stream->current; diff --git a/src/Symfony/Component/ExpressionLanguage/Token.php b/src/Symfony/Component/ExpressionLanguage/Token.php index 40bb75587ec96..38aac0a055e6b 100644 --- a/src/Symfony/Component/ExpressionLanguage/Token.php +++ b/src/Symfony/Component/ExpressionLanguage/Token.php @@ -54,12 +54,11 @@ public function __toString() /** * Tests the current token for a type and/or a value. * - * @param array|int $type The type to test - * @param string|null $value The token value + * @param array|int $type The type to test * * @return bool */ - public function test($type, $value = null) + public function test($type, string $value = null) { return $this->type === $type && (null === $value || $this->value == $value); } diff --git a/src/Symfony/Component/ExpressionLanguage/TokenStream.php b/src/Symfony/Component/ExpressionLanguage/TokenStream.php index 919add6b90953..0fafd74203364 100644 --- a/src/Symfony/Component/ExpressionLanguage/TokenStream.php +++ b/src/Symfony/Component/ExpressionLanguage/TokenStream.php @@ -59,10 +59,9 @@ public function next() * Tests a token. * * @param array|int $type The type to test - * @param string|null $value The token value * @param string|null $message The syntax error message */ - public function expect($type, $value = null, $message = null) + public function expect($type, string $value = null, string $message = null) { $token = $this->current; if (!$token->test($type, $value)) {