From 1dead73882c6e08c084312d20701d5c698c3a7dd Mon Sep 17 00:00:00 2001 From: Fabien Potencier Date: Sat, 16 Mar 2019 13:25:13 +0100 Subject: [PATCH] added some type hints on constructors --- src/Error/Error.php | 2 +- src/Error/LoaderError.php | 2 +- src/Loader/FilesystemLoader.php | 2 +- src/Node/AutoEscapeNode.php | 2 +- src/Node/BlockNode.php | 2 +- src/Node/BlockReferenceNode.php | 2 +- src/Node/DeprecatedNode.php | 2 +- src/Node/DoNode.php | 2 +- src/Node/EmbedNode.php | 2 +- src/Node/Expression/ArrayExpression.php | 2 +- src/Node/Expression/Binary/AbstractBinary.php | 2 +- src/Node/Expression/BlockReferenceExpression.php | 2 +- src/Node/Expression/ConditionalExpression.php | 2 +- src/Node/Expression/ConstantExpression.php | 2 +- src/Node/Expression/Filter/DefaultFilter.php | 2 +- src/Node/Expression/FilterExpression.php | 2 +- src/Node/Expression/FunctionExpression.php | 2 +- src/Node/Expression/GetAttrExpression.php | 2 +- src/Node/Expression/MethodCallExpression.php | 2 +- src/Node/Expression/NameExpression.php | 2 +- src/Node/Expression/NullCoalesceExpression.php | 2 +- src/Node/Expression/ParentExpression.php | 2 +- src/Node/Expression/TempNameExpression.php | 2 +- src/Node/Expression/Test/DefinedTest.php | 2 +- src/Node/Expression/TestExpression.php | 2 +- src/Node/Expression/Unary/AbstractUnary.php | 2 +- src/Node/FlushNode.php | 2 +- src/Node/ForLoopNode.php | 2 +- src/Node/ForNode.php | 2 +- src/Node/IfNode.php | 2 +- src/Node/ImportNode.php | 2 +- src/Node/IncludeNode.php | 2 +- src/Node/MacroNode.php | 2 +- src/Node/Node.php | 2 +- src/Node/PrintNode.php | 2 +- src/Node/SandboxNode.php | 2 +- src/Node/SetNode.php | 2 +- src/Node/SpacelessNode.php | 2 +- src/Node/TextNode.php | 2 +- src/Node/WithNode.php | 4 ++-- src/NodeVisitor/OptimizerNodeVisitor.php | 2 +- src/Profiler/Node/EnterProfileNode.php | 2 +- src/Profiler/Node/LeaveProfileNode.php | 2 +- src/Profiler/NodeVisitor/ProfilerNodeVisitor.php | 2 +- src/Profiler/Profile.php | 2 +- src/RuntimeLoader/FactoryRuntimeLoader.php | 2 +- src/Sandbox/SecurityNotAllowedFilterError.php | 2 +- src/Sandbox/SecurityNotAllowedFunctionError.php | 2 +- src/Sandbox/SecurityNotAllowedMethodError.php | 2 +- src/Sandbox/SecurityNotAllowedPropertyError.php | 2 +- src/Sandbox/SecurityNotAllowedTagError.php | 2 +- src/TokenParser/WithTokenParser.php | 2 +- 52 files changed, 53 insertions(+), 53 deletions(-) diff --git a/src/Error/Error.php b/src/Error/Error.php index e89400833..69b9df5f9 100644 --- a/src/Error/Error.php +++ b/src/Error/Error.php @@ -61,7 +61,7 @@ class Error extends \Exception * @param Source|string|null $source The source context where the error occurred * @param \Exception $previous The previous exception */ - public function __construct($message, $lineno = -1, $source = null, \Exception $previous = null, $autoGuess = true) + public function __construct(string $message, int $lineno = -1, $source = null, \Exception $previous = null, bool $autoGuess = true) { parent::__construct('', 0, $previous); diff --git a/src/Error/LoaderError.php b/src/Error/LoaderError.php index 5a1cd1ecc..ec688e15d 100644 --- a/src/Error/LoaderError.php +++ b/src/Error/LoaderError.php @@ -26,7 +26,7 @@ namespace Twig\Error; */ class LoaderError extends Error { - public function __construct($message, $lineno = -1, $source = null, \Exception $previous = null) + public function __construct(string $message, int $lineno = -1, $source = null, \Exception $previous = null) { parent::__construct($message, $lineno, $source, $previous, false); } diff --git a/src/Loader/FilesystemLoader.php b/src/Loader/FilesystemLoader.php index a5d2bbb3f..9aee620ce 100644 --- a/src/Loader/FilesystemLoader.php +++ b/src/Loader/FilesystemLoader.php @@ -34,7 +34,7 @@ class FilesystemLoader implements LoaderInterface, ExistsLoaderInterface, Source * @param string|array $paths A path or an array of paths where to look for templates * @param string|null $rootPath The root path common to all relative paths (null for getcwd()) */ - public function __construct($paths = [], $rootPath = null) + public function __construct($paths = [], string $rootPath = null) { $this->rootPath = (null === $rootPath ? getcwd() : $rootPath).\DIRECTORY_SEPARATOR; if (false !== $realPath = realpath($rootPath)) { diff --git a/src/Node/AutoEscapeNode.php b/src/Node/AutoEscapeNode.php index 4d433c231..0bd5ae1fd 100644 --- a/src/Node/AutoEscapeNode.php +++ b/src/Node/AutoEscapeNode.php @@ -26,7 +26,7 @@ use Twig\Compiler; */ class AutoEscapeNode extends Node { - public function __construct($value, Node $body, $lineno, $tag = 'autoescape') + public function __construct($value, Node $body, int $lineno, string $tag = 'autoescape') { parent::__construct(['body' => $body], ['value' => $value], $lineno, $tag); } diff --git a/src/Node/BlockNode.php b/src/Node/BlockNode.php index 38068abf1..cafceb95b 100644 --- a/src/Node/BlockNode.php +++ b/src/Node/BlockNode.php @@ -21,7 +21,7 @@ use Twig\Compiler; */ class BlockNode extends Node { - public function __construct($name, Node $body, $lineno, $tag = null) + public function __construct(string $name, Node $body, int $lineno, string $tag = null) { parent::__construct(['body' => $body], ['name' => $name], $lineno, $tag); } diff --git a/src/Node/BlockReferenceNode.php b/src/Node/BlockReferenceNode.php index de069093f..c46d8b3e3 100644 --- a/src/Node/BlockReferenceNode.php +++ b/src/Node/BlockReferenceNode.php @@ -21,7 +21,7 @@ use Twig\Compiler; */ class BlockReferenceNode extends Node implements NodeOutputInterface { - public function __construct($name, $lineno, $tag = null) + public function __construct(string $name, int $lineno, string $tag = null) { parent::__construct([], ['name' => $name], $lineno, $tag); } diff --git a/src/Node/DeprecatedNode.php b/src/Node/DeprecatedNode.php index 62c0dd4ba..accd76804 100644 --- a/src/Node/DeprecatedNode.php +++ b/src/Node/DeprecatedNode.php @@ -22,7 +22,7 @@ use Twig\Node\Expression\ConstantExpression; */ class DeprecatedNode extends Node { - public function __construct(AbstractExpression $expr, $lineno, $tag = null) + public function __construct(AbstractExpression $expr, int $lineno, string $tag = null) { parent::__construct(['expr' => $expr], [], $lineno, $tag); } diff --git a/src/Node/DoNode.php b/src/Node/DoNode.php index 80c4cea79..d74804c5d 100644 --- a/src/Node/DoNode.php +++ b/src/Node/DoNode.php @@ -21,7 +21,7 @@ use Twig\Node\Expression\AbstractExpression; */ class DoNode extends Node { - public function __construct(AbstractExpression $expr, $lineno, $tag = null) + public function __construct(AbstractExpression $expr, int $lineno, string $tag = null) { parent::__construct(['expr' => $expr], [], $lineno, $tag); } diff --git a/src/Node/EmbedNode.php b/src/Node/EmbedNode.php index 7ef957689..4a1ef6fc5 100644 --- a/src/Node/EmbedNode.php +++ b/src/Node/EmbedNode.php @@ -23,7 +23,7 @@ use Twig\Node\Expression\ConstantExpression; class EmbedNode extends IncludeNode { // we don't inject the module to avoid node visitors to traverse it twice (as it will be already visited in the main module) - public function __construct($name, $index, AbstractExpression $variables = null, $only = false, $ignoreMissing = false, $lineno, $tag = null) + public function __construct(string $name, int $index, AbstractExpression $variables = null, bool $only = false, bool $ignoreMissing = false, int $lineno, string $tag = null) { parent::__construct(new ConstantExpression('not_used', $lineno), $variables, $only, $ignoreMissing, $lineno, $tag); diff --git a/src/Node/Expression/ArrayExpression.php b/src/Node/Expression/ArrayExpression.php index 4603efa8f..917675d91 100644 --- a/src/Node/Expression/ArrayExpression.php +++ b/src/Node/Expression/ArrayExpression.php @@ -17,7 +17,7 @@ class ArrayExpression extends AbstractExpression { private $index; - public function __construct(array $elements, $lineno) + public function __construct(array $elements, int $lineno) { parent::__construct($elements, [], $lineno); diff --git a/src/Node/Expression/Binary/AbstractBinary.php b/src/Node/Expression/Binary/AbstractBinary.php index 86693164d..67c388aea 100644 --- a/src/Node/Expression/Binary/AbstractBinary.php +++ b/src/Node/Expression/Binary/AbstractBinary.php @@ -18,7 +18,7 @@ use Twig\Node\Node; abstract class AbstractBinary extends AbstractExpression { - public function __construct(Node $left, Node $right, $lineno) + public function __construct(Node $left, Node $right, int $lineno) { parent::__construct(['left' => $left, 'right' => $right], [], $lineno); } diff --git a/src/Node/Expression/BlockReferenceExpression.php b/src/Node/Expression/BlockReferenceExpression.php index 839186dee..c68989ae7 100644 --- a/src/Node/Expression/BlockReferenceExpression.php +++ b/src/Node/Expression/BlockReferenceExpression.php @@ -22,7 +22,7 @@ use Twig\Node\Node; */ class BlockReferenceExpression extends AbstractExpression { - public function __construct(Node $name, Node $template = null, $lineno, $tag = null) + public function __construct(Node $name, Node $template = null, int $lineno, string $tag = null) { $nodes = ['name' => $name]; if (null !== $template) { diff --git a/src/Node/Expression/ConditionalExpression.php b/src/Node/Expression/ConditionalExpression.php index b611218d3..8c367d357 100644 --- a/src/Node/Expression/ConditionalExpression.php +++ b/src/Node/Expression/ConditionalExpression.php @@ -16,7 +16,7 @@ use Twig\Compiler; class ConditionalExpression extends AbstractExpression { - public function __construct(AbstractExpression $expr1, AbstractExpression $expr2, AbstractExpression $expr3, $lineno) + public function __construct(AbstractExpression $expr1, AbstractExpression $expr2, AbstractExpression $expr3, int $lineno) { parent::__construct(['expr1' => $expr1, 'expr2' => $expr2, 'expr3' => $expr3], [], $lineno); } diff --git a/src/Node/Expression/ConstantExpression.php b/src/Node/Expression/ConstantExpression.php index fd58264dc..46e0ac39c 100644 --- a/src/Node/Expression/ConstantExpression.php +++ b/src/Node/Expression/ConstantExpression.php @@ -16,7 +16,7 @@ use Twig\Compiler; class ConstantExpression extends AbstractExpression { - public function __construct($value, $lineno) + public function __construct($value, int $lineno) { parent::__construct([], ['value' => $value], $lineno); } diff --git a/src/Node/Expression/Filter/DefaultFilter.php b/src/Node/Expression/Filter/DefaultFilter.php index eab2168d2..0dacae839 100644 --- a/src/Node/Expression/Filter/DefaultFilter.php +++ b/src/Node/Expression/Filter/DefaultFilter.php @@ -29,7 +29,7 @@ use Twig\Node\Node; */ class DefaultFilter extends FilterExpression { - public function __construct(Node $node, ConstantExpression $filterName, Node $arguments, $lineno, $tag = null) + public function __construct(Node $node, ConstantExpression $filterName, Node $arguments, int $lineno, string $tag = null) { $default = new FilterExpression($node, new ConstantExpression('default', $node->getTemplateLine()), $arguments, $node->getTemplateLine()); diff --git a/src/Node/Expression/FilterExpression.php b/src/Node/Expression/FilterExpression.php index 31fb13c90..41b07341c 100644 --- a/src/Node/Expression/FilterExpression.php +++ b/src/Node/Expression/FilterExpression.php @@ -17,7 +17,7 @@ use Twig\Node\Node; class FilterExpression extends CallExpression { - public function __construct(Node $node, ConstantExpression $filterName, Node $arguments, $lineno, $tag = null) + public function __construct(Node $node, ConstantExpression $filterName, Node $arguments, int $lineno, string $tag = null) { parent::__construct(['node' => $node, 'filter' => $filterName, 'arguments' => $arguments], [], $lineno, $tag); } diff --git a/src/Node/Expression/FunctionExpression.php b/src/Node/Expression/FunctionExpression.php index 93932d75a..429dbb924 100644 --- a/src/Node/Expression/FunctionExpression.php +++ b/src/Node/Expression/FunctionExpression.php @@ -16,7 +16,7 @@ use Twig\Node\Node; class FunctionExpression extends CallExpression { - public function __construct($name, Node $arguments, $lineno) + public function __construct(string $name, Node $arguments, int $lineno) { parent::__construct(['arguments' => $arguments], ['name' => $name, 'is_defined_test' => false], $lineno); } diff --git a/src/Node/Expression/GetAttrExpression.php b/src/Node/Expression/GetAttrExpression.php index 97931abb2..b3ac77a10 100644 --- a/src/Node/Expression/GetAttrExpression.php +++ b/src/Node/Expression/GetAttrExpression.php @@ -18,7 +18,7 @@ use Twig\Template; class GetAttrExpression extends AbstractExpression { - public function __construct(AbstractExpression $node, AbstractExpression $attribute, AbstractExpression $arguments = null, $type, $lineno) + public function __construct(AbstractExpression $node, AbstractExpression $attribute, AbstractExpression $arguments = null, string $type, int $lineno) { $nodes = ['node' => $node, 'attribute' => $attribute]; if (null !== $arguments) { diff --git a/src/Node/Expression/MethodCallExpression.php b/src/Node/Expression/MethodCallExpression.php index f6311249d..7450c5180 100644 --- a/src/Node/Expression/MethodCallExpression.php +++ b/src/Node/Expression/MethodCallExpression.php @@ -15,7 +15,7 @@ use Twig\Compiler; class MethodCallExpression extends AbstractExpression { - public function __construct(AbstractExpression $node, $method, ArrayExpression $arguments, $lineno) + public function __construct(AbstractExpression $node, string $method, ArrayExpression $arguments, int $lineno) { parent::__construct(['node' => $node, 'arguments' => $arguments], ['method' => $method, 'safe' => false], $lineno); diff --git a/src/Node/Expression/NameExpression.php b/src/Node/Expression/NameExpression.php index a741df2ec..ffcb858fe 100644 --- a/src/Node/Expression/NameExpression.php +++ b/src/Node/Expression/NameExpression.php @@ -22,7 +22,7 @@ class NameExpression extends AbstractExpression '_charset' => '$this->env->getCharset()', ]; - public function __construct($name, $lineno) + public function __construct(string $name, int $lineno) { parent::__construct([], ['name' => $name, 'is_defined_test' => false, 'ignore_strict_check' => false, 'always_defined' => false], $lineno); } diff --git a/src/Node/Expression/NullCoalesceExpression.php b/src/Node/Expression/NullCoalesceExpression.php index 185fc9cd4..c551f2f6f 100644 --- a/src/Node/Expression/NullCoalesceExpression.php +++ b/src/Node/Expression/NullCoalesceExpression.php @@ -20,7 +20,7 @@ use Twig\Node\Node; class NullCoalesceExpression extends ConditionalExpression { - public function __construct(Node $left, Node $right, $lineno) + public function __construct(Node $left, Node $right, int $lineno) { $test = new AndBinary( new DefinedTest(clone $left, 'defined', new Node(), $left->getTemplateLine()), diff --git a/src/Node/Expression/ParentExpression.php b/src/Node/Expression/ParentExpression.php index 124728303..294ab398e 100644 --- a/src/Node/Expression/ParentExpression.php +++ b/src/Node/Expression/ParentExpression.php @@ -21,7 +21,7 @@ use Twig\Compiler; */ class ParentExpression extends AbstractExpression { - public function __construct($name, $lineno, $tag = null) + public function __construct(string $name, int $lineno, string $tag = null) { parent::__construct([], ['output' => false, 'name' => $name], $lineno, $tag); } diff --git a/src/Node/Expression/TempNameExpression.php b/src/Node/Expression/TempNameExpression.php index ce0a15898..e7a1a890d 100644 --- a/src/Node/Expression/TempNameExpression.php +++ b/src/Node/Expression/TempNameExpression.php @@ -15,7 +15,7 @@ use Twig\Compiler; class TempNameExpression extends AbstractExpression { - public function __construct($name, $lineno) + public function __construct(string $name, int $lineno) { parent::__construct([], ['name' => $name], $lineno); } diff --git a/src/Node/Expression/Test/DefinedTest.php b/src/Node/Expression/Test/DefinedTest.php index 5217a9707..03fdb6d60 100644 --- a/src/Node/Expression/Test/DefinedTest.php +++ b/src/Node/Expression/Test/DefinedTest.php @@ -34,7 +34,7 @@ use Twig\Node\Node; */ class DefinedTest extends TestExpression { - public function __construct(Node $node, $name, Node $arguments = null, $lineno) + public function __construct(Node $node, string $name, Node $arguments = null, int $lineno) { if ($node instanceof NameExpression) { $node->setAttribute('is_defined_test', true); diff --git a/src/Node/Expression/TestExpression.php b/src/Node/Expression/TestExpression.php index cc05a9658..50aab052b 100644 --- a/src/Node/Expression/TestExpression.php +++ b/src/Node/Expression/TestExpression.php @@ -16,7 +16,7 @@ use Twig\Node\Node; class TestExpression extends CallExpression { - public function __construct(Node $node, $name, Node $arguments = null, $lineno) + public function __construct(Node $node, string $name, Node $arguments = null, int $lineno) { $nodes = ['node' => $node]; if (null !== $arguments) { diff --git a/src/Node/Expression/Unary/AbstractUnary.php b/src/Node/Expression/Unary/AbstractUnary.php index 3d5a0035e..4896280f1 100644 --- a/src/Node/Expression/Unary/AbstractUnary.php +++ b/src/Node/Expression/Unary/AbstractUnary.php @@ -18,7 +18,7 @@ use Twig\Node\Node; abstract class AbstractUnary extends AbstractExpression { - public function __construct(Node $node, $lineno) + public function __construct(Node $node, int $lineno) { parent::__construct(['node' => $node], [], $lineno); } diff --git a/src/Node/FlushNode.php b/src/Node/FlushNode.php index 6cbc489a6..b88f3409b 100644 --- a/src/Node/FlushNode.php +++ b/src/Node/FlushNode.php @@ -20,7 +20,7 @@ use Twig\Compiler; */ class FlushNode extends Node { - public function __construct($lineno, $tag) + public function __construct(int $lineno, string $tag) { parent::__construct([], [], $lineno, $tag); } diff --git a/src/Node/ForLoopNode.php b/src/Node/ForLoopNode.php index 390209355..42aedd7ba 100644 --- a/src/Node/ForLoopNode.php +++ b/src/Node/ForLoopNode.php @@ -20,7 +20,7 @@ use Twig\Compiler; */ class ForLoopNode extends Node { - public function __construct($lineno, $tag = null) + public function __construct(int $lineno, string $tag = null) { parent::__construct([], ['with_loop' => false, 'ifexpr' => false, 'else' => false], $lineno, $tag); } diff --git a/src/Node/ForNode.php b/src/Node/ForNode.php index e873e3d42..54afe9383 100644 --- a/src/Node/ForNode.php +++ b/src/Node/ForNode.php @@ -25,7 +25,7 @@ class ForNode extends Node { private $loop; - public function __construct(AssignNameExpression $keyTarget, AssignNameExpression $valueTarget, AbstractExpression $seq, AbstractExpression $ifexpr = null, Node $body, Node $else = null, $lineno, $tag = null) + public function __construct(AssignNameExpression $keyTarget, AssignNameExpression $valueTarget, AbstractExpression $seq, AbstractExpression $ifexpr = null, Node $body, Node $else = null, int $lineno, string $tag = null) { $body = new Node([$body, $this->loop = new ForLoopNode($lineno, $tag)]); diff --git a/src/Node/IfNode.php b/src/Node/IfNode.php index 7628e5cbc..814a6f3a9 100644 --- a/src/Node/IfNode.php +++ b/src/Node/IfNode.php @@ -21,7 +21,7 @@ use Twig\Compiler; */ class IfNode extends Node { - public function __construct(Node $tests, Node $else = null, $lineno, $tag = null) + public function __construct(Node $tests, Node $else = null, int $lineno, string $tag = null) { $nodes = ['tests' => $tests]; if (null !== $else) { diff --git a/src/Node/ImportNode.php b/src/Node/ImportNode.php index 309bd1ac7..e1b5d2a27 100644 --- a/src/Node/ImportNode.php +++ b/src/Node/ImportNode.php @@ -22,7 +22,7 @@ use Twig\Node\Expression\NameExpression; */ class ImportNode extends Node { - public function __construct(AbstractExpression $expr, AbstractExpression $var, $lineno, $tag = null) + public function __construct(AbstractExpression $expr, AbstractExpression $var, int $lineno, string $tag = null) { parent::__construct(['expr' => $expr, 'var' => $var], [], $lineno, $tag); } diff --git a/src/Node/IncludeNode.php b/src/Node/IncludeNode.php index 524ddef23..1755f19d2 100644 --- a/src/Node/IncludeNode.php +++ b/src/Node/IncludeNode.php @@ -22,7 +22,7 @@ use Twig\Node\Expression\AbstractExpression; */ class IncludeNode extends Node implements NodeOutputInterface { - public function __construct(AbstractExpression $expr, AbstractExpression $variables = null, $only = false, $ignoreMissing = false, $lineno, $tag = null) + public function __construct(AbstractExpression $expr, AbstractExpression $variables = null, bool $only = false, bool $ignoreMissing = false, int $lineno, string $tag = null) { $nodes = ['expr' => $expr]; if (null !== $variables) { diff --git a/src/Node/MacroNode.php b/src/Node/MacroNode.php index 11020946e..df1931f8c 100644 --- a/src/Node/MacroNode.php +++ b/src/Node/MacroNode.php @@ -23,7 +23,7 @@ class MacroNode extends Node { const VARARGS_NAME = 'varargs'; - public function __construct($name, Node $body, Node $arguments, $lineno, $tag = null) + public function __construct(string $name, Node $body, Node $arguments, int $lineno, string $tag = null) { foreach ($arguments as $argumentName => $argument) { if (self::VARARGS_NAME === $argumentName) { diff --git a/src/Node/Node.php b/src/Node/Node.php index e04f11df6..8055a1a5a 100644 --- a/src/Node/Node.php +++ b/src/Node/Node.php @@ -39,7 +39,7 @@ class Node implements \Countable, \IteratorAggregate * @param int $lineno The line number * @param string $tag The tag name associated with the Node */ - public function __construct(array $nodes = [], array $attributes = [], $lineno = 0, $tag = null) + public function __construct(array $nodes = [], array $attributes = [], int $lineno = 0, string $tag = null) { foreach ($nodes as $name => $node) { if (!$node instanceof self) { diff --git a/src/Node/PrintNode.php b/src/Node/PrintNode.php index 27f1ca422..fcc086acd 100644 --- a/src/Node/PrintNode.php +++ b/src/Node/PrintNode.php @@ -22,7 +22,7 @@ use Twig\Node\Expression\AbstractExpression; */ class PrintNode extends Node implements NodeOutputInterface { - public function __construct(AbstractExpression $expr, $lineno, $tag = null) + public function __construct(AbstractExpression $expr, int $lineno, string $tag = null) { parent::__construct(['expr' => $expr], [], $lineno, $tag); } diff --git a/src/Node/SandboxNode.php b/src/Node/SandboxNode.php index 4697bd45e..fe59313bf 100644 --- a/src/Node/SandboxNode.php +++ b/src/Node/SandboxNode.php @@ -20,7 +20,7 @@ use Twig\Compiler; */ class SandboxNode extends Node { - public function __construct(Node $body, $lineno, $tag = null) + public function __construct(Node $body, int $lineno, string $tag = null) { parent::__construct(['body' => $body], [], $lineno, $tag); } diff --git a/src/Node/SetNode.php b/src/Node/SetNode.php index 16e011722..9e1668a46 100644 --- a/src/Node/SetNode.php +++ b/src/Node/SetNode.php @@ -21,7 +21,7 @@ use Twig\Node\Expression\ConstantExpression; */ class SetNode extends Node implements NodeCaptureInterface { - public function __construct($capture, Node $names, Node $values, $lineno, $tag = null) + public function __construct(bool $capture, Node $names, Node $values, int $lineno, string $tag = null) { parent::__construct(['names' => $names, 'values' => $values], ['capture' => $capture, 'safe' => false], $lineno, $tag); diff --git a/src/Node/SpacelessNode.php b/src/Node/SpacelessNode.php index 99deb350e..ba951c425 100644 --- a/src/Node/SpacelessNode.php +++ b/src/Node/SpacelessNode.php @@ -24,7 +24,7 @@ use Twig\Compiler; */ class SpacelessNode extends Node implements NodeOutputInterface { - public function __construct(Node $body, $lineno, $tag = 'spaceless') + public function __construct(Node $body, int $lineno, string $tag = 'spaceless') { parent::__construct(['body' => $body], [], $lineno, $tag); } diff --git a/src/Node/TextNode.php b/src/Node/TextNode.php index 9ac435e90..85640a56e 100644 --- a/src/Node/TextNode.php +++ b/src/Node/TextNode.php @@ -21,7 +21,7 @@ use Twig\Compiler; */ class TextNode extends Node implements NodeOutputInterface { - public function __construct($data, $lineno) + public function __construct(string $data, int $lineno) { parent::__construct([], ['data' => $data], $lineno); } diff --git a/src/Node/WithNode.php b/src/Node/WithNode.php index 170494d8a..918431758 100644 --- a/src/Node/WithNode.php +++ b/src/Node/WithNode.php @@ -20,14 +20,14 @@ use Twig\Compiler; */ class WithNode extends Node { - public function __construct(Node $body, Node $variables = null, $only = false, $lineno, $tag = null) + public function __construct(Node $body, Node $variables = null, bool $only = false, int $lineno, string $tag = null) { $nodes = ['body' => $body]; if (null !== $variables) { $nodes['variables'] = $variables; } - parent::__construct($nodes, ['only' => (bool) $only], $lineno, $tag); + parent::__construct($nodes, ['only' => $only], $lineno, $tag); } public function compile(Compiler $compiler) diff --git a/src/NodeVisitor/OptimizerNodeVisitor.php b/src/NodeVisitor/OptimizerNodeVisitor.php index 4bf7f7470..9f7cae4da 100644 --- a/src/NodeVisitor/OptimizerNodeVisitor.php +++ b/src/NodeVisitor/OptimizerNodeVisitor.php @@ -51,7 +51,7 @@ final class OptimizerNodeVisitor extends AbstractNodeVisitor /** * @param int $optimizers The optimizer mode */ - public function __construct($optimizers = -1) + public function __construct(int $optimizers = -1) { if (!\is_int($optimizers) || $optimizers > (self::OPTIMIZE_FOR | self::OPTIMIZE_RAW_FILTER | self::OPTIMIZE_VAR_ACCESS)) { throw new \InvalidArgumentException(sprintf('Optimizer mode "%s" is not valid.', $optimizers)); diff --git a/src/Profiler/Node/EnterProfileNode.php b/src/Profiler/Node/EnterProfileNode.php index b4cecd55e..91de5ffc8 100644 --- a/src/Profiler/Node/EnterProfileNode.php +++ b/src/Profiler/Node/EnterProfileNode.php @@ -21,7 +21,7 @@ use Twig\Node\Node; */ class EnterProfileNode extends Node { - public function __construct($extensionName, $type, $name, $varName) + public function __construct(string $extensionName, string $type, string $name, string $varName) { parent::__construct([], ['extension_name' => $extensionName, 'name' => $name, 'type' => $type, 'var_name' => $varName]); } diff --git a/src/Profiler/Node/LeaveProfileNode.php b/src/Profiler/Node/LeaveProfileNode.php index 3b7a74d02..7fbf4354b 100644 --- a/src/Profiler/Node/LeaveProfileNode.php +++ b/src/Profiler/Node/LeaveProfileNode.php @@ -21,7 +21,7 @@ use Twig\Node\Node; */ class LeaveProfileNode extends Node { - public function __construct($varName) + public function __construct(string $varName) { parent::__construct([], ['var_name' => $varName]); } diff --git a/src/Profiler/NodeVisitor/ProfilerNodeVisitor.php b/src/Profiler/NodeVisitor/ProfilerNodeVisitor.php index fcfcdd20f..f19f6b78f 100644 --- a/src/Profiler/NodeVisitor/ProfilerNodeVisitor.php +++ b/src/Profiler/NodeVisitor/ProfilerNodeVisitor.php @@ -29,7 +29,7 @@ final class ProfilerNodeVisitor extends AbstractNodeVisitor { private $extensionName; - public function __construct($extensionName) + public function __construct(string $extensionName) { $this->extensionName = $extensionName; } diff --git a/src/Profiler/Profile.php b/src/Profiler/Profile.php index 5005ab6b2..3e1230509 100644 --- a/src/Profiler/Profile.php +++ b/src/Profiler/Profile.php @@ -30,7 +30,7 @@ class Profile implements \IteratorAggregate, \Serializable private $ends = []; private $profiles = []; - public function __construct($template = 'main', $type = self::ROOT, $name = 'main') + public function __construct(string $template = 'main', string $type = self::ROOT, string $name = 'main') { if (__CLASS__ !== \get_class($this)) { @trigger_error('Overriding '.__CLASS__.' is deprecated since Twig 2.4.0 and the class will be final in 3.0.', E_USER_DEPRECATED); diff --git a/src/RuntimeLoader/FactoryRuntimeLoader.php b/src/RuntimeLoader/FactoryRuntimeLoader.php index 43b5f24eb..e4676f7cf 100644 --- a/src/RuntimeLoader/FactoryRuntimeLoader.php +++ b/src/RuntimeLoader/FactoryRuntimeLoader.php @@ -23,7 +23,7 @@ class FactoryRuntimeLoader implements RuntimeLoaderInterface /** * @param array $map An array where keys are class names and values factory callables */ - public function __construct($map = []) + public function __construct(array $map = []) { $this->map = $map; } diff --git a/src/Sandbox/SecurityNotAllowedFilterError.php b/src/Sandbox/SecurityNotAllowedFilterError.php index fa0fdee72..428e702dd 100644 --- a/src/Sandbox/SecurityNotAllowedFilterError.php +++ b/src/Sandbox/SecurityNotAllowedFilterError.php @@ -20,7 +20,7 @@ class SecurityNotAllowedFilterError extends SecurityError { private $filterName; - public function __construct($message, $functionName, $lineno = -1, $filename = null, \Exception $previous = null) + public function __construct(string $message, string $functionName, int $lineno = -1, string $filename = null, \Exception $previous = null) { parent::__construct($message, $lineno, $filename, $previous); $this->filterName = $functionName; diff --git a/src/Sandbox/SecurityNotAllowedFunctionError.php b/src/Sandbox/SecurityNotAllowedFunctionError.php index 8f23f93ac..0d0d711b0 100644 --- a/src/Sandbox/SecurityNotAllowedFunctionError.php +++ b/src/Sandbox/SecurityNotAllowedFunctionError.php @@ -20,7 +20,7 @@ class SecurityNotAllowedFunctionError extends SecurityError { private $functionName; - public function __construct($message, $functionName, $lineno = -1, $filename = null, \Exception $previous = null) + public function __construct(string $message, string $functionName, int $lineno = -1, string $filename = null, \Exception $previous = null) { parent::__construct($message, $lineno, $filename, $previous); $this->functionName = $functionName; diff --git a/src/Sandbox/SecurityNotAllowedMethodError.php b/src/Sandbox/SecurityNotAllowedMethodError.php index 62e13f49b..d63e1a293 100644 --- a/src/Sandbox/SecurityNotAllowedMethodError.php +++ b/src/Sandbox/SecurityNotAllowedMethodError.php @@ -21,7 +21,7 @@ class SecurityNotAllowedMethodError extends SecurityError private $className; private $methodName; - public function __construct($message, $className, $methodName, $lineno = -1, $filename = null, \Exception $previous = null) + public function __construct(string $message, string $className, string $methodName, int $lineno = -1, string $filename = null, \Exception $previous = null) { parent::__construct($message, $lineno, $filename, $previous); $this->className = $className; diff --git a/src/Sandbox/SecurityNotAllowedPropertyError.php b/src/Sandbox/SecurityNotAllowedPropertyError.php index 3bf530574..532b625bd 100644 --- a/src/Sandbox/SecurityNotAllowedPropertyError.php +++ b/src/Sandbox/SecurityNotAllowedPropertyError.php @@ -21,7 +21,7 @@ class SecurityNotAllowedPropertyError extends SecurityError private $className; private $propertyName; - public function __construct($message, $className, $propertyName, $lineno = -1, $filename = null, \Exception $previous = null) + public function __construct(string $message, string $className, string $propertyName, int $lineno = -1, string $filename = null, \Exception $previous = null) { parent::__construct($message, $lineno, $filename, $previous); $this->className = $className; diff --git a/src/Sandbox/SecurityNotAllowedTagError.php b/src/Sandbox/SecurityNotAllowedTagError.php index de283b40c..806221750 100644 --- a/src/Sandbox/SecurityNotAllowedTagError.php +++ b/src/Sandbox/SecurityNotAllowedTagError.php @@ -20,7 +20,7 @@ class SecurityNotAllowedTagError extends SecurityError { private $tagName; - public function __construct($message, $tagName, $lineno = -1, $filename = null, \Exception $previous = null) + public function __construct(string $message, string $tagName, int $lineno = -1, string $filename = null, \Exception $previous = null) { parent::__construct($message, $lineno, $filename, $previous); $this->tagName = $tagName; diff --git a/src/TokenParser/WithTokenParser.php b/src/TokenParser/WithTokenParser.php index 23ba3282e..c184fd75e 100644 --- a/src/TokenParser/WithTokenParser.php +++ b/src/TokenParser/WithTokenParser.php @@ -29,7 +29,7 @@ final class WithTokenParser extends AbstractTokenParser $only = false; if (!$stream->test(/* Token::BLOCK_END_TYPE */ 3)) { $variables = $this->parser->getExpressionParser()->parseExpression(); - $only = $stream->nextIf(/* Token::NAME_TYPE */ 5, 'only'); + $only = (bool) $stream->nextIf(/* Token::NAME_TYPE */ 5, 'only'); } $stream->expect(/* Token::BLOCK_END_TYPE */ 3);