From f30edcab65d43ee85db28a7cb68274a1df93985f Mon Sep 17 00:00:00 2001 From: "Alexander M. Turek" Date: Sat, 29 Jun 2019 20:17:41 +0200 Subject: [PATCH 1/2] Support for Twig 3. --- composer.json | 2 +- .../Bridge/Twig/Extension/AssetExtension.php | 4 ++-- .../Bridge/Twig/Extension/CodeExtension.php | 4 ++-- .../Bridge/Twig/Extension/CsrfExtension.php | 2 +- src/Symfony/Bridge/Twig/Extension/CsrfRuntime.php | 2 +- .../Bridge/Twig/Extension/DumpExtension.php | 6 +++--- .../Bridge/Twig/Extension/ExpressionExtension.php | 4 ++-- .../Bridge/Twig/Extension/FormExtension.php | 10 +++++----- .../Twig/Extension/HttpFoundationExtension.php | 4 ++-- .../Bridge/Twig/Extension/HttpKernelExtension.php | 4 ++-- .../Bridge/Twig/Extension/HttpKernelRuntime.php | 2 +- .../Bridge/Twig/Extension/LogoutUrlExtension.php | 4 ++-- .../Bridge/Twig/Extension/ProfilerExtension.php | 6 +++--- .../Bridge/Twig/Extension/RoutingExtension.php | 4 ++-- .../Bridge/Twig/Extension/SecurityExtension.php | 4 ++-- .../Bridge/Twig/Extension/StopwatchExtension.php | 4 ++-- .../Bridge/Twig/Extension/WebLinkExtension.php | 4 ++-- .../Bridge/Twig/Extension/WorkflowExtension.php | 4 ++-- .../Bridge/Twig/Extension/YamlExtension.php | 4 ++-- src/Symfony/Bridge/Twig/Node/DumpNode.php | 4 ++-- src/Symfony/Bridge/Twig/Node/FormThemeNode.php | 4 ++-- src/Symfony/Bridge/Twig/Node/RenderBlockNode.php | 4 ++-- .../Bridge/Twig/Node/SearchAndRenderBlockNode.php | 4 ++-- src/Symfony/Bridge/Twig/Node/StopwatchNode.php | 4 ++-- .../Bridge/Twig/Node/TransDefaultDomainNode.php | 4 ++-- src/Symfony/Bridge/Twig/Node/TransNode.php | 4 ++-- .../TranslationDefaultDomainNodeVisitor.php | 12 ++++-------- .../Twig/NodeVisitor/TranslationNodeVisitor.php | 12 ++++-------- .../Bridge/Twig/TokenParser/DumpTokenParser.php | 10 +++------- .../Twig/TokenParser/FormThemeTokenParser.php | 14 +++++--------- .../Twig/TokenParser/StopwatchTokenParser.php | 12 +++--------- .../TokenParser/TransDefaultDomainTokenParser.php | 10 +++------- .../Bridge/Twig/TokenParser/TransTokenParser.php | 10 +++------- src/Symfony/Bridge/Twig/composer.json | 2 +- src/Symfony/Bundle/FrameworkBundle/composer.json | 2 +- src/Symfony/Bundle/SecurityBundle/composer.json | 2 +- src/Symfony/Bundle/TwigBundle/composer.json | 2 +- src/Symfony/Bundle/WebProfilerBundle/composer.json | 2 +- src/Symfony/Component/HttpKernel/composer.json | 2 +- src/Symfony/Component/VarDumper/composer.json | 2 +- 40 files changed, 85 insertions(+), 115 deletions(-) diff --git a/composer.json b/composer.json index 31bac1d819316..9e653461bf5fc 100644 --- a/composer.json +++ b/composer.json @@ -20,7 +20,7 @@ "ext-xml": "*", "doctrine/event-manager": "~1.0", "doctrine/persistence": "~1.0", - "twig/twig": "^2.10", + "twig/twig": "^2.10|^3", "psr/cache": "~1.0", "psr/container": "^1.0", "psr/link": "^1.0", diff --git a/src/Symfony/Bridge/Twig/Extension/AssetExtension.php b/src/Symfony/Bridge/Twig/Extension/AssetExtension.php index 70ff291e8a22e..23701112f7fd9 100644 --- a/src/Symfony/Bridge/Twig/Extension/AssetExtension.php +++ b/src/Symfony/Bridge/Twig/Extension/AssetExtension.php @@ -20,7 +20,7 @@ * * @author Fabien Potencier * - * @final since Symfony 4.4 + * @final */ class AssetExtension extends AbstractExtension { @@ -36,7 +36,7 @@ public function __construct(Packages $packages) * * @return TwigFunction[] */ - public function getFunctions() + public function getFunctions(): array { return [ new TwigFunction('asset', [$this, 'getAssetUrl']), diff --git a/src/Symfony/Bridge/Twig/Extension/CodeExtension.php b/src/Symfony/Bridge/Twig/Extension/CodeExtension.php index b43ddcd351e5d..1cf5b98dac526 100644 --- a/src/Symfony/Bridge/Twig/Extension/CodeExtension.php +++ b/src/Symfony/Bridge/Twig/Extension/CodeExtension.php @@ -20,7 +20,7 @@ * * @author Fabien Potencier * - * @final since Symfony 4.4 + * @final */ class CodeExtension extends AbstractExtension { @@ -45,7 +45,7 @@ public function __construct($fileLinkFormat, string $projectDir, string $charset * * @return TwigFilter[] */ - public function getFilters() + public function getFilters(): array { return [ new TwigFilter('abbr_class', [$this, 'abbrClass'], ['is_safe' => ['html']]), diff --git a/src/Symfony/Bridge/Twig/Extension/CsrfExtension.php b/src/Symfony/Bridge/Twig/Extension/CsrfExtension.php index 79b65c3e6e27d..4c3ddadbf08e7 100644 --- a/src/Symfony/Bridge/Twig/Extension/CsrfExtension.php +++ b/src/Symfony/Bridge/Twig/Extension/CsrfExtension.php @@ -18,7 +18,7 @@ * @author Christian Flothmann * @author Titouan Galopin * - * @final since Symfony 4.4 + * @final */ class CsrfExtension extends AbstractExtension { diff --git a/src/Symfony/Bridge/Twig/Extension/CsrfRuntime.php b/src/Symfony/Bridge/Twig/Extension/CsrfRuntime.php index ea857c7ed583b..c26ad5c9038b4 100644 --- a/src/Symfony/Bridge/Twig/Extension/CsrfRuntime.php +++ b/src/Symfony/Bridge/Twig/Extension/CsrfRuntime.php @@ -17,7 +17,7 @@ * @author Christian Flothmann * @author Titouan Galopin * - * @final since Symfony 4.4 + * @final */ class CsrfRuntime { diff --git a/src/Symfony/Bridge/Twig/Extension/DumpExtension.php b/src/Symfony/Bridge/Twig/Extension/DumpExtension.php index f2ff5f7da533b..791a2688b92c3 100644 --- a/src/Symfony/Bridge/Twig/Extension/DumpExtension.php +++ b/src/Symfony/Bridge/Twig/Extension/DumpExtension.php @@ -25,7 +25,7 @@ * * @author Nicolas Grekas * - * @final since Symfony 4.4 + * @final */ class DumpExtension extends AbstractExtension { @@ -41,7 +41,7 @@ public function __construct(ClonerInterface $cloner, HtmlDumper $dumper = null) /** * @return TwigFunction[] */ - public function getFunctions() + public function getFunctions(): array { return [ new TwigFunction('dump', [$this, 'dump'], ['is_safe' => ['html'], 'needs_context' => true, 'needs_environment' => true]), @@ -51,7 +51,7 @@ public function getFunctions() /** * @return TokenParserInterface[] */ - public function getTokenParsers() + public function getTokenParsers(): array { return [new DumpTokenParser()]; } diff --git a/src/Symfony/Bridge/Twig/Extension/ExpressionExtension.php b/src/Symfony/Bridge/Twig/Extension/ExpressionExtension.php index 5c5c84fdff2b1..bde8fcd082999 100644 --- a/src/Symfony/Bridge/Twig/Extension/ExpressionExtension.php +++ b/src/Symfony/Bridge/Twig/Extension/ExpressionExtension.php @@ -20,7 +20,7 @@ * * @author Fabien Potencier * - * @final since Symfony 4.4 + * @final */ class ExpressionExtension extends AbstractExtension { @@ -29,7 +29,7 @@ class ExpressionExtension extends AbstractExtension * * @return TwigFunction[] */ - public function getFunctions() + public function getFunctions(): array { return [ new TwigFunction('expression', [$this, 'createExpression']), diff --git a/src/Symfony/Bridge/Twig/Extension/FormExtension.php b/src/Symfony/Bridge/Twig/Extension/FormExtension.php index 842042aac7acd..2eb0a6d6cb049 100644 --- a/src/Symfony/Bridge/Twig/Extension/FormExtension.php +++ b/src/Symfony/Bridge/Twig/Extension/FormExtension.php @@ -26,7 +26,7 @@ * @author Fabien Potencier * @author Bernhard Schussek * - * @final since Symfony 4.4 + * @final */ class FormExtension extends AbstractExtension { @@ -35,7 +35,7 @@ class FormExtension extends AbstractExtension * * @return TokenParserInterface[] */ - public function getTokenParsers() + public function getTokenParsers(): array { return [ // {% form_theme form "SomeBundle::widgets.twig" %} @@ -48,7 +48,7 @@ public function getTokenParsers() * * @return TwigFunction[] */ - public function getFunctions() + public function getFunctions(): array { return [ new TwigFunction('form_widget', null, ['node_class' => 'Symfony\Bridge\Twig\Node\SearchAndRenderBlockNode', 'is_safe' => ['html']]), @@ -70,7 +70,7 @@ public function getFunctions() * * @return TwigFilter[] */ - public function getFilters() + public function getFilters(): array { return [ new TwigFilter('humanize', ['Symfony\Component\Form\FormRenderer', 'humanize']), @@ -83,7 +83,7 @@ public function getFilters() * * @return TwigTest[] */ - public function getTests() + public function getTests(): array { return [ new TwigTest('selectedchoice', 'Symfony\Bridge\Twig\Extension\twig_is_selected_choice'), diff --git a/src/Symfony/Bridge/Twig/Extension/HttpFoundationExtension.php b/src/Symfony/Bridge/Twig/Extension/HttpFoundationExtension.php index a99508d1e9036..5b09d90fb1aff 100644 --- a/src/Symfony/Bridge/Twig/Extension/HttpFoundationExtension.php +++ b/src/Symfony/Bridge/Twig/Extension/HttpFoundationExtension.php @@ -21,7 +21,7 @@ * * @author Fabien Potencier * - * @final since Symfony 4.4 + * @final */ class HttpFoundationExtension extends AbstractExtension { @@ -37,7 +37,7 @@ public function __construct(UrlHelper $urlHelper) * * @return TwigFunction[] */ - public function getFunctions() + public function getFunctions(): array { return [ new TwigFunction('absolute_url', [$this, 'generateAbsoluteUrl']), diff --git a/src/Symfony/Bridge/Twig/Extension/HttpKernelExtension.php b/src/Symfony/Bridge/Twig/Extension/HttpKernelExtension.php index 3bd9d2e9cf9c2..fba4cb88c1640 100644 --- a/src/Symfony/Bridge/Twig/Extension/HttpKernelExtension.php +++ b/src/Symfony/Bridge/Twig/Extension/HttpKernelExtension.php @@ -20,14 +20,14 @@ * * @author Fabien Potencier * - * @final since Symfony 4.4 + * @final */ class HttpKernelExtension extends AbstractExtension { /** * @return TwigFunction[] */ - public function getFunctions() + public function getFunctions(): array { return [ new TwigFunction('render', [HttpKernelRuntime::class, 'renderFragment'], ['is_safe' => ['html']]), diff --git a/src/Symfony/Bridge/Twig/Extension/HttpKernelRuntime.php b/src/Symfony/Bridge/Twig/Extension/HttpKernelRuntime.php index 47311eb7947f8..b9472a935e799 100644 --- a/src/Symfony/Bridge/Twig/Extension/HttpKernelRuntime.php +++ b/src/Symfony/Bridge/Twig/Extension/HttpKernelRuntime.php @@ -19,7 +19,7 @@ * * @author Fabien Potencier * - * @final since Symfony 4.4 + * @final */ class HttpKernelRuntime { diff --git a/src/Symfony/Bridge/Twig/Extension/LogoutUrlExtension.php b/src/Symfony/Bridge/Twig/Extension/LogoutUrlExtension.php index 8e3bb87622b9a..404276d8cb510 100644 --- a/src/Symfony/Bridge/Twig/Extension/LogoutUrlExtension.php +++ b/src/Symfony/Bridge/Twig/Extension/LogoutUrlExtension.php @@ -20,7 +20,7 @@ * * @author Jeremy Mikola * - * @final since Symfony 4.4 + * @final */ class LogoutUrlExtension extends AbstractExtension { @@ -36,7 +36,7 @@ public function __construct(LogoutUrlGenerator $generator) * * @return TwigFunction[] */ - public function getFunctions() + public function getFunctions(): array { return [ new TwigFunction('logout_url', [$this, 'getLogoutUrl']), diff --git a/src/Symfony/Bridge/Twig/Extension/ProfilerExtension.php b/src/Symfony/Bridge/Twig/Extension/ProfilerExtension.php index 0d5d1d1fb3ff0..38b7c23891350 100644 --- a/src/Symfony/Bridge/Twig/Extension/ProfilerExtension.php +++ b/src/Symfony/Bridge/Twig/Extension/ProfilerExtension.php @@ -18,7 +18,7 @@ /** * @author Fabien Potencier * - * @final since Symfony 4.4 + * @final */ class ProfilerExtension extends BaseProfilerExtension { @@ -33,7 +33,7 @@ public function __construct(Profile $profile, Stopwatch $stopwatch = null) $this->events = new \SplObjectStorage(); } - public function enter(Profile $profile) + public function enter(Profile $profile): void { if ($this->stopwatch && $profile->isTemplate()) { $this->events[$profile] = $this->stopwatch->start($profile->getName(), 'template'); @@ -42,7 +42,7 @@ public function enter(Profile $profile) parent::enter($profile); } - public function leave(Profile $profile) + public function leave(Profile $profile): void { parent::leave($profile); diff --git a/src/Symfony/Bridge/Twig/Extension/RoutingExtension.php b/src/Symfony/Bridge/Twig/Extension/RoutingExtension.php index 7d2c580e2ebd2..7807b7f6bff56 100644 --- a/src/Symfony/Bridge/Twig/Extension/RoutingExtension.php +++ b/src/Symfony/Bridge/Twig/Extension/RoutingExtension.php @@ -23,7 +23,7 @@ * * @author Fabien Potencier * - * @final since Symfony 4.4 + * @final */ class RoutingExtension extends AbstractExtension { @@ -39,7 +39,7 @@ public function __construct(UrlGeneratorInterface $generator) * * @return TwigFunction[] */ - public function getFunctions() + public function getFunctions(): array { return [ new TwigFunction('url', [$this, 'getUrl'], ['is_safe_callback' => [$this, 'isUrlGenerationSafe']]), diff --git a/src/Symfony/Bridge/Twig/Extension/SecurityExtension.php b/src/Symfony/Bridge/Twig/Extension/SecurityExtension.php index 0335040fb3e0f..03a61f3b50eaf 100644 --- a/src/Symfony/Bridge/Twig/Extension/SecurityExtension.php +++ b/src/Symfony/Bridge/Twig/Extension/SecurityExtension.php @@ -22,7 +22,7 @@ * * @author Fabien Potencier * - * @final since Symfony 4.4 + * @final */ class SecurityExtension extends AbstractExtension { @@ -55,7 +55,7 @@ public function isGranted($role, object $object = null, string $field = null) * * @return TwigFunction[] */ - public function getFunctions() + public function getFunctions(): array { return [ new TwigFunction('is_granted', [$this, 'isGranted']), diff --git a/src/Symfony/Bridge/Twig/Extension/StopwatchExtension.php b/src/Symfony/Bridge/Twig/Extension/StopwatchExtension.php index f4b9a24ced5cd..5dcb6c6704537 100644 --- a/src/Symfony/Bridge/Twig/Extension/StopwatchExtension.php +++ b/src/Symfony/Bridge/Twig/Extension/StopwatchExtension.php @@ -21,7 +21,7 @@ * * @author Wouter J * - * @final since Symfony 4.4 + * @final */ class StopwatchExtension extends AbstractExtension { @@ -42,7 +42,7 @@ public function getStopwatch() /** * @return TokenParserInterface[] */ - public function getTokenParsers() + public function getTokenParsers(): array { return [ /* diff --git a/src/Symfony/Bridge/Twig/Extension/WebLinkExtension.php b/src/Symfony/Bridge/Twig/Extension/WebLinkExtension.php index fc62ffc6e78e7..1ca6eace858f7 100644 --- a/src/Symfony/Bridge/Twig/Extension/WebLinkExtension.php +++ b/src/Symfony/Bridge/Twig/Extension/WebLinkExtension.php @@ -22,7 +22,7 @@ * * @author Kévin Dunglas * - * @final since Symfony 4.4 + * @final */ class WebLinkExtension extends AbstractExtension { @@ -38,7 +38,7 @@ public function __construct(RequestStack $requestStack) * * @return TwigFunction[] */ - public function getFunctions() + public function getFunctions(): array { return [ new TwigFunction('link', [$this, 'link']), diff --git a/src/Symfony/Bridge/Twig/Extension/WorkflowExtension.php b/src/Symfony/Bridge/Twig/Extension/WorkflowExtension.php index 6aefc450b1abe..a81ad61710f6c 100644 --- a/src/Symfony/Bridge/Twig/Extension/WorkflowExtension.php +++ b/src/Symfony/Bridge/Twig/Extension/WorkflowExtension.php @@ -22,7 +22,7 @@ * * @author Grégoire Pineau * - * @final since Symfony 4.4 + * @final */ class WorkflowExtension extends AbstractExtension { @@ -36,7 +36,7 @@ public function __construct(Registry $workflowRegistry) /** * @return TwigFunction[] */ - public function getFunctions() + public function getFunctions(): array { return [ new TwigFunction('workflow_can', [$this, 'canTransition']), diff --git a/src/Symfony/Bridge/Twig/Extension/YamlExtension.php b/src/Symfony/Bridge/Twig/Extension/YamlExtension.php index adf681376c6d1..fcb53cb58ee16 100644 --- a/src/Symfony/Bridge/Twig/Extension/YamlExtension.php +++ b/src/Symfony/Bridge/Twig/Extension/YamlExtension.php @@ -21,7 +21,7 @@ * * @author Fabien Potencier * - * @final since Symfony 4.4 + * @final */ class YamlExtension extends AbstractExtension { @@ -30,7 +30,7 @@ class YamlExtension extends AbstractExtension * * @return TwigFilter[] */ - public function getFilters() + public function getFilters(): array { return [ new TwigFilter('yaml_encode', [$this, 'encode']), diff --git a/src/Symfony/Bridge/Twig/Node/DumpNode.php b/src/Symfony/Bridge/Twig/Node/DumpNode.php index c6f20ada89668..9aad5d3260b49 100644 --- a/src/Symfony/Bridge/Twig/Node/DumpNode.php +++ b/src/Symfony/Bridge/Twig/Node/DumpNode.php @@ -17,7 +17,7 @@ /** * @author Julien Galenski * - * @final since Symfony 4.4 + * @final */ class DumpNode extends Node { @@ -37,7 +37,7 @@ public function __construct($varPrefix, Node $values = null, int $lineno, string /** * {@inheritdoc} */ - public function compile(Compiler $compiler) + public function compile(Compiler $compiler): void { $compiler ->write("if (\$this->env->isDebug()) {\n") diff --git a/src/Symfony/Bridge/Twig/Node/FormThemeNode.php b/src/Symfony/Bridge/Twig/Node/FormThemeNode.php index 0f07c8cbc67c2..f2e75cafd4553 100644 --- a/src/Symfony/Bridge/Twig/Node/FormThemeNode.php +++ b/src/Symfony/Bridge/Twig/Node/FormThemeNode.php @@ -18,7 +18,7 @@ /** * @author Fabien Potencier * - * @final since Symfony 4.4 + * @final */ class FormThemeNode extends Node { @@ -27,7 +27,7 @@ public function __construct(Node $form, Node $resources, int $lineno, string $ta parent::__construct(['form' => $form, 'resources' => $resources], ['only' => $only], $lineno, $tag); } - public function compile(Compiler $compiler) + public function compile(Compiler $compiler): void { $compiler ->addDebugInfo($this) diff --git a/src/Symfony/Bridge/Twig/Node/RenderBlockNode.php b/src/Symfony/Bridge/Twig/Node/RenderBlockNode.php index b4ba68cbef28a..eee3cd5a3c1e0 100644 --- a/src/Symfony/Bridge/Twig/Node/RenderBlockNode.php +++ b/src/Symfony/Bridge/Twig/Node/RenderBlockNode.php @@ -22,11 +22,11 @@ * * @author Bernhard Schussek * - * @final since Symfony 4.4 + * @final */ class RenderBlockNode extends FunctionExpression { - public function compile(Compiler $compiler) + public function compile(Compiler $compiler): void { $compiler->addDebugInfo($this); $arguments = iterator_to_array($this->getNode('arguments')); diff --git a/src/Symfony/Bridge/Twig/Node/SearchAndRenderBlockNode.php b/src/Symfony/Bridge/Twig/Node/SearchAndRenderBlockNode.php index 7b29c3b36b3d3..d7a3c40f5ab8d 100644 --- a/src/Symfony/Bridge/Twig/Node/SearchAndRenderBlockNode.php +++ b/src/Symfony/Bridge/Twig/Node/SearchAndRenderBlockNode.php @@ -19,11 +19,11 @@ /** * @author Bernhard Schussek * - * @final since Symfony 4.4 + * @final */ class SearchAndRenderBlockNode extends FunctionExpression { - public function compile(Compiler $compiler) + public function compile(Compiler $compiler): void { $compiler->addDebugInfo($this); $compiler->raw('$this->env->getRuntime(\'Symfony\Component\Form\FormRenderer\')->searchAndRenderBlock('); diff --git a/src/Symfony/Bridge/Twig/Node/StopwatchNode.php b/src/Symfony/Bridge/Twig/Node/StopwatchNode.php index 1d6094cdaf91a..a1930281343dc 100644 --- a/src/Symfony/Bridge/Twig/Node/StopwatchNode.php +++ b/src/Symfony/Bridge/Twig/Node/StopwatchNode.php @@ -20,7 +20,7 @@ * * @author Wouter J * - * @final since Symfony 4.4 + * @final */ class StopwatchNode extends Node { @@ -29,7 +29,7 @@ public function __construct(Node $name, Node $body, AssignNameExpression $var, i parent::__construct(['body' => $body, 'name' => $name, 'var' => $var], [], $lineno, $tag); } - public function compile(Compiler $compiler) + public function compile(Compiler $compiler): void { $compiler ->addDebugInfo($this) diff --git a/src/Symfony/Bridge/Twig/Node/TransDefaultDomainNode.php b/src/Symfony/Bridge/Twig/Node/TransDefaultDomainNode.php index 06dc00270de42..5a053990aa527 100644 --- a/src/Symfony/Bridge/Twig/Node/TransDefaultDomainNode.php +++ b/src/Symfony/Bridge/Twig/Node/TransDefaultDomainNode.php @@ -18,7 +18,7 @@ /** * @author Fabien Potencier * - * @final since Symfony 4.4 + * @final */ class TransDefaultDomainNode extends Node { @@ -27,7 +27,7 @@ public function __construct(AbstractExpression $expr, int $lineno = 0, string $t parent::__construct(['expr' => $expr], [], $lineno, $tag); } - public function compile(Compiler $compiler) + public function compile(Compiler $compiler): void { // noop as this node is just a marker for TranslationDefaultDomainNodeVisitor } diff --git a/src/Symfony/Bridge/Twig/Node/TransNode.php b/src/Symfony/Bridge/Twig/Node/TransNode.php index 256bc4ceea277..68ee49ae55b73 100644 --- a/src/Symfony/Bridge/Twig/Node/TransNode.php +++ b/src/Symfony/Bridge/Twig/Node/TransNode.php @@ -25,7 +25,7 @@ class_exists('Twig\Node\Expression\ArrayExpression'); /** * @author Fabien Potencier * - * @final since Symfony 4.4 + * @final */ class TransNode extends Node { @@ -48,7 +48,7 @@ public function __construct(Node $body, Node $domain = null, AbstractExpression parent::__construct($nodes, [], $lineno, $tag); } - public function compile(Compiler $compiler) + public function compile(Compiler $compiler): void { $compiler->addDebugInfo($this); diff --git a/src/Symfony/Bridge/Twig/NodeVisitor/TranslationDefaultDomainNodeVisitor.php b/src/Symfony/Bridge/Twig/NodeVisitor/TranslationDefaultDomainNodeVisitor.php index 9fa39a431ca49..db9f35e14e01e 100644 --- a/src/Symfony/Bridge/Twig/NodeVisitor/TranslationDefaultDomainNodeVisitor.php +++ b/src/Symfony/Bridge/Twig/NodeVisitor/TranslationDefaultDomainNodeVisitor.php @@ -28,7 +28,7 @@ /** * @author Fabien Potencier * - * @final since Symfony 4.4 + * @final */ class TranslationDefaultDomainNodeVisitor extends AbstractNodeVisitor { @@ -41,10 +41,8 @@ public function __construct() /** * {@inheritdoc} - * - * @return Node */ - protected function doEnterNode(Node $node, Environment $env) + protected function doEnterNode(Node $node, Environment $env): Node { if ($node instanceof BlockNode || $node instanceof ModuleNode) { $this->scope = $this->scope->enter(); @@ -95,10 +93,8 @@ protected function doEnterNode(Node $node, Environment $env) /** * {@inheritdoc} - * - * @return Node|null */ - protected function doLeaveNode(Node $node, Environment $env) + protected function doLeaveNode(Node $node, Environment $env): ?Node { if ($node instanceof TransDefaultDomainNode) { return null; @@ -114,7 +110,7 @@ protected function doLeaveNode(Node $node, Environment $env) /** * {@inheritdoc} */ - public function getPriority() + public function getPriority(): int { return -10; } diff --git a/src/Symfony/Bridge/Twig/NodeVisitor/TranslationNodeVisitor.php b/src/Symfony/Bridge/Twig/NodeVisitor/TranslationNodeVisitor.php index 84d97df2fbeeb..a219986f1a0ae 100644 --- a/src/Symfony/Bridge/Twig/NodeVisitor/TranslationNodeVisitor.php +++ b/src/Symfony/Bridge/Twig/NodeVisitor/TranslationNodeVisitor.php @@ -23,7 +23,7 @@ * * @author Fabien Potencier * - * @final since Symfony 4.4 + * @final */ class TranslationNodeVisitor extends AbstractNodeVisitor { @@ -51,10 +51,8 @@ public function getMessages() /** * {@inheritdoc} - * - * @return Node */ - protected function doEnterNode(Node $node, Environment $env) + protected function doEnterNode(Node $node, Environment $env): Node { if (!$this->enabled) { return $node; @@ -93,10 +91,8 @@ protected function doEnterNode(Node $node, Environment $env) /** * {@inheritdoc} - * - * @return Node|null */ - protected function doLeaveNode(Node $node, Environment $env) + protected function doLeaveNode(Node $node, Environment $env): ?Node { return $node; } @@ -104,7 +100,7 @@ protected function doLeaveNode(Node $node, Environment $env) /** * {@inheritdoc} */ - public function getPriority() + public function getPriority(): int { return 0; } diff --git a/src/Symfony/Bridge/Twig/TokenParser/DumpTokenParser.php b/src/Symfony/Bridge/Twig/TokenParser/DumpTokenParser.php index c13297f23258d..1721e2538b0a1 100644 --- a/src/Symfony/Bridge/Twig/TokenParser/DumpTokenParser.php +++ b/src/Symfony/Bridge/Twig/TokenParser/DumpTokenParser.php @@ -27,16 +27,14 @@ * * @author Julien Galenski * - * @final since Symfony 4.4 + * @final */ class DumpTokenParser extends AbstractTokenParser { /** * {@inheritdoc} - * - * @return Node */ - public function parse(Token $token) + public function parse(Token $token): Node { $values = null; if (!$this->parser->getStream()->test(Token::BLOCK_END_TYPE)) { @@ -49,10 +47,8 @@ public function parse(Token $token) /** * {@inheritdoc} - * - * @return string */ - public function getTag() + public function getTag(): string { return 'dump'; } diff --git a/src/Symfony/Bridge/Twig/TokenParser/FormThemeTokenParser.php b/src/Symfony/Bridge/Twig/TokenParser/FormThemeTokenParser.php index 58fe3dd6be261..bf0ddfde86421 100644 --- a/src/Symfony/Bridge/Twig/TokenParser/FormThemeTokenParser.php +++ b/src/Symfony/Bridge/Twig/TokenParser/FormThemeTokenParser.php @@ -22,16 +22,14 @@ * * @author Fabien Potencier * - * @final since Symfony 4.4 + * @final */ class FormThemeTokenParser extends AbstractTokenParser { /** - * Parses a token and returns a node. - * - * @return Node + * {@inheritdoc} */ - public function parse(Token $token) + public function parse(Token $token): Node { $lineno = $token->getLine(); $stream = $this->parser->getStream(); @@ -59,11 +57,9 @@ public function parse(Token $token) } /** - * Gets the tag name associated with this token parser. - * - * @return string The tag name + * {@inheritdoc} */ - public function getTag() + public function getTag(): string { return 'form_theme'; } diff --git a/src/Symfony/Bridge/Twig/TokenParser/StopwatchTokenParser.php b/src/Symfony/Bridge/Twig/TokenParser/StopwatchTokenParser.php index e1ac39cf8f390..59d994036f174 100644 --- a/src/Symfony/Bridge/Twig/TokenParser/StopwatchTokenParser.php +++ b/src/Symfony/Bridge/Twig/TokenParser/StopwatchTokenParser.php @@ -22,7 +22,7 @@ * * @author Wouter J * - * @final since Symfony 4.4 + * @final */ class StopwatchTokenParser extends AbstractTokenParser { @@ -33,10 +33,7 @@ public function __construct(bool $stopwatchIsAvailable) $this->stopwatchIsAvailable = $stopwatchIsAvailable; } - /** - * @return Node - */ - public function parse(Token $token) + public function parse(Token $token): Node { $lineno = $token->getLine(); $stream = $this->parser->getStream(); @@ -62,10 +59,7 @@ public function decideStopwatchEnd(Token $token) return $token->test('endstopwatch'); } - /** - * @return string - */ - public function getTag() + public function getTag(): string { return 'stopwatch'; } diff --git a/src/Symfony/Bridge/Twig/TokenParser/TransDefaultDomainTokenParser.php b/src/Symfony/Bridge/Twig/TokenParser/TransDefaultDomainTokenParser.php index e6b16680f7b7c..9c1d155ce932b 100644 --- a/src/Symfony/Bridge/Twig/TokenParser/TransDefaultDomainTokenParser.php +++ b/src/Symfony/Bridge/Twig/TokenParser/TransDefaultDomainTokenParser.php @@ -21,16 +21,14 @@ * * @author Fabien Potencier * - * @final since Symfony 4.4 + * @final */ class TransDefaultDomainTokenParser extends AbstractTokenParser { /** * {@inheritdoc} - * - * @return Node */ - public function parse(Token $token) + public function parse(Token $token): Node { $expr = $this->parser->getExpressionParser()->parseExpression(); @@ -41,10 +39,8 @@ public function parse(Token $token) /** * {@inheritdoc} - * - * @return string */ - public function getTag() + public function getTag(): string { return 'trans_default_domain'; } diff --git a/src/Symfony/Bridge/Twig/TokenParser/TransTokenParser.php b/src/Symfony/Bridge/Twig/TokenParser/TransTokenParser.php index 294df51097fba..940eb6c252799 100644 --- a/src/Symfony/Bridge/Twig/TokenParser/TransTokenParser.php +++ b/src/Symfony/Bridge/Twig/TokenParser/TransTokenParser.php @@ -25,16 +25,14 @@ * * @author Fabien Potencier * - * @final since Symfony 4.4 + * @final */ class TransTokenParser extends AbstractTokenParser { /** * {@inheritdoc} - * - * @return Node */ - public function parse(Token $token) + public function parse(Token $token): Node { $lineno = $token->getLine(); $stream = $this->parser->getStream(); @@ -91,10 +89,8 @@ public function decideTransFork(Token $token) /** * {@inheritdoc} - * - * @return string */ - public function getTag() + public function getTag(): string { return 'trans'; } diff --git a/src/Symfony/Bridge/Twig/composer.json b/src/Symfony/Bridge/Twig/composer.json index c90bf0cb92a37..e4b37a0580629 100644 --- a/src/Symfony/Bridge/Twig/composer.json +++ b/src/Symfony/Bridge/Twig/composer.json @@ -18,7 +18,7 @@ "require": { "php": "^7.2.9", "symfony/translation-contracts": "^1.1", - "twig/twig": "^2.10" + "twig/twig": "^2.10|^3" }, "require-dev": { "egulias/email-validator": "^2.0", diff --git a/src/Symfony/Bundle/FrameworkBundle/composer.json b/src/Symfony/Bundle/FrameworkBundle/composer.json index fbb1cac447f92..76b9e3e15c139 100644 --- a/src/Symfony/Bundle/FrameworkBundle/composer.json +++ b/src/Symfony/Bundle/FrameworkBundle/composer.json @@ -59,7 +59,7 @@ "symfony/web-link": "^4.4|^5.0", "doctrine/annotations": "~1.0", "phpdocumentor/reflection-docblock": "^3.0|^4.0", - "twig/twig": "^2.4" + "twig/twig": "^2.4|^3" }, "conflict": { "phpdocumentor/reflection-docblock": "<3.0", diff --git a/src/Symfony/Bundle/SecurityBundle/composer.json b/src/Symfony/Bundle/SecurityBundle/composer.json index 143506892fe21..75484a7ddf202 100644 --- a/src/Symfony/Bundle/SecurityBundle/composer.json +++ b/src/Symfony/Bundle/SecurityBundle/composer.json @@ -44,7 +44,7 @@ "symfony/yaml": "^4.4|^5.0", "symfony/expression-language": "^4.4|^5.0", "doctrine/doctrine-bundle": "^1.5|^2.0", - "twig/twig": "^2.4" + "twig/twig": "^2.4|^3" }, "conflict": { "symfony/browser-kit": "<4.4", diff --git a/src/Symfony/Bundle/TwigBundle/composer.json b/src/Symfony/Bundle/TwigBundle/composer.json index f497406a022a7..98a60e8d84f9c 100644 --- a/src/Symfony/Bundle/TwigBundle/composer.json +++ b/src/Symfony/Bundle/TwigBundle/composer.json @@ -23,7 +23,7 @@ "symfony/http-foundation": "^4.4|^5.0", "symfony/http-kernel": "^5.0", "symfony/polyfill-ctype": "~1.8", - "twig/twig": "^2.10" + "twig/twig": "^2.10|^3" }, "require-dev": { "symfony/asset": "^4.4|^5.0", diff --git a/src/Symfony/Bundle/WebProfilerBundle/composer.json b/src/Symfony/Bundle/WebProfilerBundle/composer.json index f565050158175..8f506f9d2fbfe 100644 --- a/src/Symfony/Bundle/WebProfilerBundle/composer.json +++ b/src/Symfony/Bundle/WebProfilerBundle/composer.json @@ -23,7 +23,7 @@ "symfony/routing": "^4.4|^5.0", "symfony/twig-bundle": "^4.4|^5.0", "symfony/var-dumper": "^4.4|^5.0", - "twig/twig": "^2.10" + "twig/twig": "^2.10|^3" }, "require-dev": { "symfony/console": "^4.4|^5.0", diff --git a/src/Symfony/Component/HttpKernel/composer.json b/src/Symfony/Component/HttpKernel/composer.json index 5526cd5ff0d59..76c4f6d438ead 100644 --- a/src/Symfony/Component/HttpKernel/composer.json +++ b/src/Symfony/Component/HttpKernel/composer.json @@ -41,7 +41,7 @@ "symfony/translation-contracts": "^1.1", "symfony/var-dumper": "^4.4|^5.0", "psr/cache": "~1.0", - "twig/twig": "^2.4" + "twig/twig": "^2.4|^3" }, "provide": { "psr/log-implementation": "1.0" diff --git a/src/Symfony/Component/VarDumper/composer.json b/src/Symfony/Component/VarDumper/composer.json index 8c2d8daefcbe1..766cd38a807b2 100644 --- a/src/Symfony/Component/VarDumper/composer.json +++ b/src/Symfony/Component/VarDumper/composer.json @@ -23,7 +23,7 @@ "ext-iconv": "*", "symfony/console": "^4.4|^5.0", "symfony/process": "^4.4|^5.0", - "twig/twig": "^2.4" + "twig/twig": "^2.4|^3" }, "conflict": { "phpunit/phpunit": "<5.4.3", From 44ed90ccae1d1a9019396f096187187d47309763 Mon Sep 17 00:00:00 2001 From: "Alexander M. Turek" Date: Wed, 21 Aug 2019 15:47:16 +0200 Subject: [PATCH 2/2] Finalized all `@final` classes. --- .../Bridge/Twig/Extension/AssetExtension.php | 24 ++--------- .../Bridge/Twig/Extension/CodeExtension.php | 42 +++++-------------- .../Bridge/Twig/Extension/CsrfExtension.php | 4 +- .../Bridge/Twig/Extension/CsrfRuntime.php | 4 +- .../Bridge/Twig/Extension/DumpExtension.php | 16 ++----- .../Twig/Extension/ExpressionExtension.php | 18 +------- .../Bridge/Twig/Extension/FormExtension.php | 27 ++---------- .../Extension/HttpFoundationExtension.php | 24 ++--------- .../Twig/Extension/HttpKernelExtension.php | 16 ++----- .../Twig/Extension/HttpKernelRuntime.php | 12 ++---- .../Twig/Extension/LogoutUrlExtension.php | 22 ++-------- .../Twig/Extension/ProfilerExtension.php | 12 +----- .../Twig/Extension/RoutingExtension.php | 26 ++---------- .../Twig/Extension/SecurityExtension.php | 16 +------ .../Twig/Extension/StopwatchExtension.php | 11 +---- .../Twig/Extension/TranslationExtension.php | 23 ++-------- .../Twig/Extension/WebLinkExtension.php | 18 ++++---- .../Twig/Extension/WorkflowExtension.php | 23 +++------- .../Bridge/Twig/Extension/YamlExtension.php | 19 ++------- src/Symfony/Bridge/Twig/Node/DumpNode.php | 6 +-- .../Bridge/Twig/Node/FormThemeNode.php | 4 +- .../Bridge/Twig/Node/RenderBlockNode.php | 4 +- .../Twig/Node/SearchAndRenderBlockNode.php | 4 +- .../Bridge/Twig/Node/StopwatchNode.php | 4 +- .../Twig/Node/TransDefaultDomainNode.php | 4 +- src/Symfony/Bridge/Twig/Node/TransNode.php | 9 +--- .../TranslationDefaultDomainNodeVisitor.php | 6 +-- .../NodeVisitor/TranslationNodeVisitor.php | 10 ++--- .../Tests/Extension/CodeExtensionTest.php | 11 ++--- .../Twig/TokenParser/DumpTokenParser.php | 4 +- .../Twig/TokenParser/FormThemeTokenParser.php | 4 +- .../Twig/TokenParser/StopwatchTokenParser.php | 6 +-- .../TransDefaultDomainTokenParser.php | 4 +- .../Twig/TokenParser/TransTokenParser.php | 6 +-- 34 files changed, 88 insertions(+), 355 deletions(-) diff --git a/src/Symfony/Bridge/Twig/Extension/AssetExtension.php b/src/Symfony/Bridge/Twig/Extension/AssetExtension.php index 23701112f7fd9..694821f7bf6b8 100644 --- a/src/Symfony/Bridge/Twig/Extension/AssetExtension.php +++ b/src/Symfony/Bridge/Twig/Extension/AssetExtension.php @@ -19,10 +19,8 @@ * Twig extension for the Symfony Asset component. * * @author Fabien Potencier - * - * @final */ -class AssetExtension extends AbstractExtension +final class AssetExtension extends AbstractExtension { private $packages; @@ -33,8 +31,6 @@ public function __construct(Packages $packages) /** * {@inheritdoc} - * - * @return TwigFunction[] */ public function getFunctions(): array { @@ -49,31 +45,17 @@ public function getFunctions(): array * * If the package used to generate the path is an instance of * UrlPackage, you will always get a URL and not a path. - * - * @return string The public path of the asset */ - public function getAssetUrl(string $path, string $packageName = null) + public function getAssetUrl(string $path, string $packageName = null): string { return $this->packages->getUrl($path, $packageName); } /** * Returns the version of an asset. - * - * @return string The asset version */ - public function getAssetVersion(string $path, string $packageName = null) + public function getAssetVersion(string $path, string $packageName = null): string { return $this->packages->getVersion($path, $packageName); } - - /** - * Returns the name of the extension. - * - * @return string The extension name - */ - public function getName() - { - return 'asset'; - } } diff --git a/src/Symfony/Bridge/Twig/Extension/CodeExtension.php b/src/Symfony/Bridge/Twig/Extension/CodeExtension.php index 1cf5b98dac526..f35725af0da9e 100644 --- a/src/Symfony/Bridge/Twig/Extension/CodeExtension.php +++ b/src/Symfony/Bridge/Twig/Extension/CodeExtension.php @@ -19,10 +19,8 @@ * Twig extension relate to PHP code and used by the profiler and the default exception templates. * * @author Fabien Potencier - * - * @final */ -class CodeExtension extends AbstractExtension +final class CodeExtension extends AbstractExtension { private $fileLinkFormat; private $charset; @@ -30,8 +28,6 @@ class CodeExtension extends AbstractExtension /** * @param string|FileLinkFormatter $fileLinkFormat The format for links to source files - * @param string $projectDir The project directory - * @param string $charset The charset */ public function __construct($fileLinkFormat, string $projectDir, string $charset) { @@ -42,8 +38,6 @@ public function __construct($fileLinkFormat, string $projectDir, string $charset /** * {@inheritdoc} - * - * @return TwigFilter[] */ public function getFilters(): array { @@ -61,7 +55,7 @@ public function getFilters(): array ]; } - public function abbrClass(string $class) + public function abbrClass(string $class): string { $parts = explode('\\', $class); $short = array_pop($parts); @@ -69,7 +63,7 @@ public function abbrClass(string $class) return sprintf('%s', $class, $short); } - public function abbrMethod(string $method) + public function abbrMethod(string $method): string { if (false !== strpos($method, '::')) { list($class, $method) = explode('::', $method, 2); @@ -85,10 +79,8 @@ public function abbrMethod(string $method) /** * Formats an array as a string. - * - * @return string */ - public function formatArgs(array $args) + public function formatArgs(array $args): string { $result = []; foreach ($args as $key => $item) { @@ -116,20 +108,16 @@ public function formatArgs(array $args) /** * Formats an array as a string. - * - * @return string */ - public function formatArgsAsText(array $args) + public function formatArgsAsText(array $args): string { return strip_tags($this->formatArgs($args)); } /** * Returns an excerpt of a code file around the given line number. - * - * @return string An HTML string */ - public function fileExcerpt(string $file, int $line, int $srcContext = 3) + public function fileExcerpt(string $file, int $line, int $srcContext = 3): ?string { if (is_file($file) && is_readable($file)) { // highlight_file could throw warnings @@ -160,10 +148,8 @@ public function fileExcerpt(string $file, int $line, int $srcContext = 3) /** * Formats a file path. - * - * @return string */ - public function formatFile(string $file, int $line, string $text = null) + public function formatFile(string $file, int $line, string $text = null): string { $file = trim($file); @@ -211,7 +197,7 @@ public function getFileRelative(string $file): ?string return null; } - public function formatFileFromText(string $text) + public function formatFileFromText(string $text): string { return preg_replace_callback('/in ("|")?(.+?)\1(?: +(?:on|at))? +line (\d+)/s', function ($match) { return 'in '.$this->formatFile($match[2], $match[3]); @@ -221,7 +207,7 @@ public function formatFileFromText(string $text) /** * @internal */ - public function formatLogMessage(string $message, array $context) + public function formatLogMessage(string $message, array $context): string { if ($context && false !== strpos($message, '{')) { $replacements = []; @@ -239,15 +225,7 @@ public function formatLogMessage(string $message, array $context) return htmlspecialchars($message, ENT_COMPAT | ENT_SUBSTITUTE, $this->charset); } - /** - * {@inheritdoc} - */ - public function getName() - { - return 'code'; - } - - protected static function fixCodeMarkup(string $line) + protected static function fixCodeMarkup(string $line): string { // ending tag from previous line $opening = strpos($line, ' * @author Titouan Galopin - * - * @final */ -class CsrfExtension extends AbstractExtension +final class CsrfExtension extends AbstractExtension { /** * {@inheritdoc} diff --git a/src/Symfony/Bridge/Twig/Extension/CsrfRuntime.php b/src/Symfony/Bridge/Twig/Extension/CsrfRuntime.php index c26ad5c9038b4..c3d5da6470c25 100644 --- a/src/Symfony/Bridge/Twig/Extension/CsrfRuntime.php +++ b/src/Symfony/Bridge/Twig/Extension/CsrfRuntime.php @@ -16,10 +16,8 @@ /** * @author Christian Flothmann * @author Titouan Galopin - * - * @final */ -class CsrfRuntime +final class CsrfRuntime { private $csrfTokenManager; diff --git a/src/Symfony/Bridge/Twig/Extension/DumpExtension.php b/src/Symfony/Bridge/Twig/Extension/DumpExtension.php index 791a2688b92c3..2187ed99bfb2a 100644 --- a/src/Symfony/Bridge/Twig/Extension/DumpExtension.php +++ b/src/Symfony/Bridge/Twig/Extension/DumpExtension.php @@ -17,17 +17,14 @@ use Twig\Environment; use Twig\Extension\AbstractExtension; use Twig\Template; -use Twig\TokenParser\TokenParserInterface; use Twig\TwigFunction; /** * Provides integration of the dump() function with Twig. * * @author Nicolas Grekas - * - * @final */ -class DumpExtension extends AbstractExtension +final class DumpExtension extends AbstractExtension { private $cloner; private $dumper; @@ -39,7 +36,7 @@ public function __construct(ClonerInterface $cloner, HtmlDumper $dumper = null) } /** - * @return TwigFunction[] + * {@inheritdoc} */ public function getFunctions(): array { @@ -49,19 +46,14 @@ public function getFunctions(): array } /** - * @return TokenParserInterface[] + * {@inheritdoc} */ public function getTokenParsers(): array { return [new DumpTokenParser()]; } - public function getName() - { - return 'dump'; - } - - public function dump(Environment $env, array $context) + public function dump(Environment $env, array $context): ?string { if (!$env->isDebug()) { return null; diff --git a/src/Symfony/Bridge/Twig/Extension/ExpressionExtension.php b/src/Symfony/Bridge/Twig/Extension/ExpressionExtension.php index bde8fcd082999..8d2a35c99f682 100644 --- a/src/Symfony/Bridge/Twig/Extension/ExpressionExtension.php +++ b/src/Symfony/Bridge/Twig/Extension/ExpressionExtension.php @@ -19,15 +19,11 @@ * ExpressionExtension gives a way to create Expressions from a template. * * @author Fabien Potencier - * - * @final */ -class ExpressionExtension extends AbstractExtension +final class ExpressionExtension extends AbstractExtension { /** * {@inheritdoc} - * - * @return TwigFunction[] */ public function getFunctions(): array { @@ -36,18 +32,8 @@ public function getFunctions(): array ]; } - public function createExpression(string $expression) + public function createExpression(string $expression): Expression { return new Expression($expression); } - - /** - * Returns the name of the extension. - * - * @return string The extension name - */ - public function getName() - { - return 'expression'; - } } diff --git a/src/Symfony/Bridge/Twig/Extension/FormExtension.php b/src/Symfony/Bridge/Twig/Extension/FormExtension.php index 2eb0a6d6cb049..0f4076db53275 100644 --- a/src/Symfony/Bridge/Twig/Extension/FormExtension.php +++ b/src/Symfony/Bridge/Twig/Extension/FormExtension.php @@ -15,7 +15,6 @@ use Symfony\Component\Form\ChoiceList\View\ChoiceView; use Symfony\Component\Form\FormView; use Twig\Extension\AbstractExtension; -use Twig\TokenParser\TokenParserInterface; use Twig\TwigFilter; use Twig\TwigFunction; use Twig\TwigTest; @@ -25,15 +24,11 @@ * * @author Fabien Potencier * @author Bernhard Schussek - * - * @final */ -class FormExtension extends AbstractExtension +final class FormExtension extends AbstractExtension { /** * {@inheritdoc} - * - * @return TokenParserInterface[] */ public function getTokenParsers(): array { @@ -45,8 +40,6 @@ public function getTokenParsers(): array /** * {@inheritdoc} - * - * @return TwigFunction[] */ public function getFunctions(): array { @@ -67,8 +60,6 @@ public function getFunctions(): array /** * {@inheritdoc} - * - * @return TwigFilter[] */ public function getFilters(): array { @@ -80,8 +71,6 @@ public function getFilters(): array /** * {@inheritdoc} - * - * @return TwigTest[] */ public function getTests(): array { @@ -90,14 +79,6 @@ public function getTests(): array new TwigTest('rootform', 'Symfony\Bridge\Twig\Extension\twig_is_root_form'), ]; } - - /** - * {@inheritdoc} - */ - public function getName() - { - return 'form'; - } } /** @@ -107,11 +88,9 @@ public function getName() * * @param string|array $selectedValue The selected value to compare * - * @return bool Whether the choice is selected - * * @see ChoiceView::isSelected() */ -function twig_is_selected_choice(ChoiceView $choice, $selectedValue) +function twig_is_selected_choice(ChoiceView $choice, $selectedValue): bool { if (\is_array($selectedValue)) { return \in_array($choice->value, $selectedValue, true); @@ -123,7 +102,7 @@ function twig_is_selected_choice(ChoiceView $choice, $selectedValue) /** * @internal */ -function twig_is_root_form(FormView $formView) +function twig_is_root_form(FormView $formView): bool { return null === $formView->parent; } diff --git a/src/Symfony/Bridge/Twig/Extension/HttpFoundationExtension.php b/src/Symfony/Bridge/Twig/Extension/HttpFoundationExtension.php index 5b09d90fb1aff..a9ee05c4d0093 100644 --- a/src/Symfony/Bridge/Twig/Extension/HttpFoundationExtension.php +++ b/src/Symfony/Bridge/Twig/Extension/HttpFoundationExtension.php @@ -20,10 +20,8 @@ * Twig extension for the Symfony HttpFoundation component. * * @author Fabien Potencier - * - * @final */ -class HttpFoundationExtension extends AbstractExtension +final class HttpFoundationExtension extends AbstractExtension { private $urlHelper; @@ -34,8 +32,6 @@ public function __construct(UrlHelper $urlHelper) /** * {@inheritdoc} - * - * @return TwigFunction[] */ public function getFunctions(): array { @@ -50,11 +46,9 @@ public function getFunctions(): array * * This method returns the path unchanged if no request is available. * - * @return string The absolute URL - * * @see Request::getUriForPath() */ - public function generateAbsoluteUrl(string $path) + public function generateAbsoluteUrl(string $path): string { return $this->urlHelper->getAbsoluteUrl($path); } @@ -64,22 +58,10 @@ public function generateAbsoluteUrl(string $path) * * This method returns the path unchanged if no request is available. * - * @return string The relative path - * * @see Request::getRelativeUriForPath() */ - public function generateRelativePath(string $path) + public function generateRelativePath(string $path): string { return $this->urlHelper->getRelativePath($path); } - - /** - * Returns the name of the extension. - * - * @return string The extension name - */ - public function getName() - { - return 'request'; - } } diff --git a/src/Symfony/Bridge/Twig/Extension/HttpKernelExtension.php b/src/Symfony/Bridge/Twig/Extension/HttpKernelExtension.php index fba4cb88c1640..f4b3e4b66953c 100644 --- a/src/Symfony/Bridge/Twig/Extension/HttpKernelExtension.php +++ b/src/Symfony/Bridge/Twig/Extension/HttpKernelExtension.php @@ -19,13 +19,11 @@ * Provides integration with the HttpKernel component. * * @author Fabien Potencier - * - * @final */ -class HttpKernelExtension extends AbstractExtension +final class HttpKernelExtension extends AbstractExtension { /** - * @return TwigFunction[] + * {@inheritdoc} */ public function getFunctions(): array { @@ -36,16 +34,8 @@ public function getFunctions(): array ]; } - public static function controller(string $controller, array $attributes = [], array $query = []) + public static function controller(string $controller, array $attributes = [], array $query = []): ControllerReference { return new ControllerReference($controller, $attributes, $query); } - - /** - * {@inheritdoc} - */ - public function getName() - { - return 'http_kernel'; - } } diff --git a/src/Symfony/Bridge/Twig/Extension/HttpKernelRuntime.php b/src/Symfony/Bridge/Twig/Extension/HttpKernelRuntime.php index b9472a935e799..6aab9566f9855 100644 --- a/src/Symfony/Bridge/Twig/Extension/HttpKernelRuntime.php +++ b/src/Symfony/Bridge/Twig/Extension/HttpKernelRuntime.php @@ -18,10 +18,8 @@ * Provides integration with the HttpKernel component. * * @author Fabien Potencier - * - * @final */ -class HttpKernelRuntime +final class HttpKernelRuntime { private $handler; @@ -35,11 +33,9 @@ public function __construct(FragmentHandler $handler) * * @param string|ControllerReference $uri A URI as a string or a ControllerReference instance * - * @return string The fragment content - * * @see FragmentHandler::render() */ - public function renderFragment($uri, array $options = []) + public function renderFragment($uri, array $options = []): string { $strategy = isset($options['strategy']) ? $options['strategy'] : 'inline'; unset($options['strategy']); @@ -52,11 +48,9 @@ public function renderFragment($uri, array $options = []) * * @param string|ControllerReference $uri A URI as a string or a ControllerReference instance * - * @return string The fragment content - * * @see FragmentHandler::render() */ - public function renderFragmentStrategy(string $strategy, $uri, array $options = []) + public function renderFragmentStrategy(string $strategy, $uri, array $options = []): string { return $this->handler->render($uri, $strategy, $options); } diff --git a/src/Symfony/Bridge/Twig/Extension/LogoutUrlExtension.php b/src/Symfony/Bridge/Twig/Extension/LogoutUrlExtension.php index 404276d8cb510..071b9ff247f1d 100644 --- a/src/Symfony/Bridge/Twig/Extension/LogoutUrlExtension.php +++ b/src/Symfony/Bridge/Twig/Extension/LogoutUrlExtension.php @@ -19,10 +19,8 @@ * LogoutUrlHelper provides generator functions for the logout URL to Twig. * * @author Jeremy Mikola - * - * @final */ -class LogoutUrlExtension extends AbstractExtension +final class LogoutUrlExtension extends AbstractExtension { private $generator; @@ -33,8 +31,6 @@ public function __construct(LogoutUrlGenerator $generator) /** * {@inheritdoc} - * - * @return TwigFunction[] */ public function getFunctions(): array { @@ -48,10 +44,8 @@ public function getFunctions(): array * Generates the relative logout URL for the firewall. * * @param string|null $key The firewall key or null to use the current firewall key - * - * @return string The relative logout URL */ - public function getLogoutPath(string $key = null) + public function getLogoutPath(string $key = null): string { return $this->generator->getLogoutPath($key); } @@ -60,19 +54,9 @@ public function getLogoutPath(string $key = null) * Generates the absolute logout URL for the firewall. * * @param string|null $key The firewall key or null to use the current firewall key - * - * @return string The absolute logout URL */ - public function getLogoutUrl(string $key = null) + public function getLogoutUrl(string $key = null): string { return $this->generator->getLogoutUrl($key); } - - /** - * {@inheritdoc} - */ - public function getName() - { - return 'logout_url'; - } } diff --git a/src/Symfony/Bridge/Twig/Extension/ProfilerExtension.php b/src/Symfony/Bridge/Twig/Extension/ProfilerExtension.php index 38b7c23891350..fcc4396f1c9a1 100644 --- a/src/Symfony/Bridge/Twig/Extension/ProfilerExtension.php +++ b/src/Symfony/Bridge/Twig/Extension/ProfilerExtension.php @@ -17,10 +17,8 @@ /** * @author Fabien Potencier - * - * @final */ -class ProfilerExtension extends BaseProfilerExtension +final class ProfilerExtension extends BaseProfilerExtension { private $stopwatch; private $events; @@ -51,12 +49,4 @@ public function leave(Profile $profile): void unset($this->events[$profile]); } } - - /** - * {@inheritdoc} - */ - public function getName() - { - return 'native_profiler'; - } } diff --git a/src/Symfony/Bridge/Twig/Extension/RoutingExtension.php b/src/Symfony/Bridge/Twig/Extension/RoutingExtension.php index 7807b7f6bff56..800c22f6d4c2c 100644 --- a/src/Symfony/Bridge/Twig/Extension/RoutingExtension.php +++ b/src/Symfony/Bridge/Twig/Extension/RoutingExtension.php @@ -22,10 +22,8 @@ * Provides integration of the Routing component with Twig. * * @author Fabien Potencier - * - * @final */ -class RoutingExtension extends AbstractExtension +final class RoutingExtension extends AbstractExtension { private $generator; @@ -36,8 +34,6 @@ public function __construct(UrlGeneratorInterface $generator) /** * {@inheritdoc} - * - * @return TwigFunction[] */ public function getFunctions(): array { @@ -47,18 +43,12 @@ public function getFunctions(): array ]; } - /** - * @return string - */ - public function getPath(string $name, array $parameters = [], bool $relative = false) + public function getPath(string $name, array $parameters = [], bool $relative = false): string { return $this->generator->generate($name, $parameters, $relative ? UrlGeneratorInterface::RELATIVE_PATH : UrlGeneratorInterface::ABSOLUTE_PATH); } - /** - * @return string - */ - public function getUrl(string $name, array $parameters = [], bool $schemeRelative = false) + public function getUrl(string $name, array $parameters = [], bool $schemeRelative = false): string { return $this->generator->generate($name, $parameters, $schemeRelative ? UrlGeneratorInterface::NETWORK_PATH : UrlGeneratorInterface::ABSOLUTE_URL); } @@ -84,8 +74,6 @@ public function getUrl(string $name, array $parameters = [], bool $schemeRelativ * @param Node $argsNode The arguments of the path/url function * * @return array An array with the contexts the URL is safe - * - * @final */ public function isUrlGenerationSafe(Node $argsNode): array { @@ -102,12 +90,4 @@ public function isUrlGenerationSafe(Node $argsNode): array return []; } - - /** - * {@inheritdoc} - */ - public function getName() - { - return 'routing'; - } } diff --git a/src/Symfony/Bridge/Twig/Extension/SecurityExtension.php b/src/Symfony/Bridge/Twig/Extension/SecurityExtension.php index 03a61f3b50eaf..c70e0bb646d29 100644 --- a/src/Symfony/Bridge/Twig/Extension/SecurityExtension.php +++ b/src/Symfony/Bridge/Twig/Extension/SecurityExtension.php @@ -21,10 +21,8 @@ * SecurityExtension exposes security context features. * * @author Fabien Potencier - * - * @final */ -class SecurityExtension extends AbstractExtension +final class SecurityExtension extends AbstractExtension { private $securityChecker; @@ -33,7 +31,7 @@ public function __construct(AuthorizationCheckerInterface $securityChecker = nul $this->securityChecker = $securityChecker; } - public function isGranted($role, object $object = null, string $field = null) + public function isGranted($role, object $object = null, string $field = null): bool { if (null === $this->securityChecker) { return false; @@ -52,8 +50,6 @@ public function isGranted($role, object $object = null, string $field = null) /** * {@inheritdoc} - * - * @return TwigFunction[] */ public function getFunctions(): array { @@ -61,12 +57,4 @@ public function getFunctions(): array new TwigFunction('is_granted', [$this, 'isGranted']), ]; } - - /** - * {@inheritdoc} - */ - public function getName() - { - return 'security'; - } } diff --git a/src/Symfony/Bridge/Twig/Extension/StopwatchExtension.php b/src/Symfony/Bridge/Twig/Extension/StopwatchExtension.php index 5dcb6c6704537..80a25a949bdb5 100644 --- a/src/Symfony/Bridge/Twig/Extension/StopwatchExtension.php +++ b/src/Symfony/Bridge/Twig/Extension/StopwatchExtension.php @@ -20,10 +20,8 @@ * Twig extension for the stopwatch helper. * * @author Wouter J - * - * @final */ -class StopwatchExtension extends AbstractExtension +final class StopwatchExtension extends AbstractExtension { private $stopwatch; private $enabled; @@ -34,7 +32,7 @@ public function __construct(Stopwatch $stopwatch = null, bool $enabled = true) $this->enabled = $enabled; } - public function getStopwatch() + public function getStopwatch(): Stopwatch { return $this->stopwatch; } @@ -53,9 +51,4 @@ public function getTokenParsers(): array new StopwatchTokenParser(null !== $this->stopwatch && $this->enabled), ]; } - - public function getName() - { - return 'stopwatch'; - } } diff --git a/src/Symfony/Bridge/Twig/Extension/TranslationExtension.php b/src/Symfony/Bridge/Twig/Extension/TranslationExtension.php index dbdb177eef149..aa5a2dde3d746 100644 --- a/src/Symfony/Bridge/Twig/Extension/TranslationExtension.php +++ b/src/Symfony/Bridge/Twig/Extension/TranslationExtension.php @@ -19,17 +19,14 @@ use Symfony\Contracts\Translation\TranslatorTrait; use Twig\Extension\AbstractExtension; use Twig\NodeVisitor\NodeVisitorInterface; -use Twig\TokenParser\AbstractTokenParser; use Twig\TwigFilter; /** * Provides integration of the Translation component with Twig. * * @author Fabien Potencier - * - * @final */ -class TranslationExtension extends AbstractExtension +final class TranslationExtension extends AbstractExtension { private $translator; private $translationNodeVisitor; @@ -40,7 +37,7 @@ public function __construct(TranslatorInterface $translator = null, NodeVisitorI $this->translationNodeVisitor = $translationNodeVisitor; } - public function getTranslator(): ?TranslatorInterface + public function getTranslator(): TranslatorInterface { if (null === $this->translator) { if (!interface_exists(TranslatorInterface::class)) { @@ -57,8 +54,6 @@ public function getTranslator(): ?TranslatorInterface /** * {@inheritdoc} - * - * @return TwigFilter[] */ public function getFilters(): array { @@ -68,9 +63,7 @@ public function getFilters(): array } /** - * Returns the token parser instance to add to the existing list. - * - * @return AbstractTokenParser[] + * {@inheritdoc} */ public function getTokenParsers(): array { @@ -85,8 +78,6 @@ public function getTokenParsers(): array /** * {@inheritdoc} - * - * @return NodeVisitorInterface[] */ public function getNodeVisitors(): array { @@ -106,12 +97,4 @@ public function trans(string $message, array $arguments = [], string $domain = n return $this->getTranslator()->trans($message, $arguments, $domain, $locale); } - - /** - * {@inheritdoc} - */ - public function getName(): string - { - return 'translator'; - } } diff --git a/src/Symfony/Bridge/Twig/Extension/WebLinkExtension.php b/src/Symfony/Bridge/Twig/Extension/WebLinkExtension.php index 1ca6eace858f7..4b8217d932f4e 100644 --- a/src/Symfony/Bridge/Twig/Extension/WebLinkExtension.php +++ b/src/Symfony/Bridge/Twig/Extension/WebLinkExtension.php @@ -21,10 +21,8 @@ * Twig extension for the Symfony WebLink component. * * @author Kévin Dunglas - * - * @final */ -class WebLinkExtension extends AbstractExtension +final class WebLinkExtension extends AbstractExtension { private $requestStack; @@ -35,8 +33,6 @@ public function __construct(RequestStack $requestStack) /** * {@inheritdoc} - * - * @return TwigFunction[] */ public function getFunctions(): array { @@ -58,7 +54,7 @@ public function getFunctions(): array * * @return string The relation URI */ - public function link(string $uri, string $rel, array $attributes = []) + public function link(string $uri, string $rel, array $attributes = []): string { if (!$request = $this->requestStack->getMasterRequest()) { return $uri; @@ -82,7 +78,7 @@ public function link(string $uri, string $rel, array $attributes = []) * * @return string The path of the asset */ - public function preload(string $uri, array $attributes = []) + public function preload(string $uri, array $attributes = []): string { return $this->link($uri, 'preload', $attributes); } @@ -94,7 +90,7 @@ public function preload(string $uri, array $attributes = []) * * @return string The path of the asset */ - public function dnsPrefetch(string $uri, array $attributes = []) + public function dnsPrefetch(string $uri, array $attributes = []): string { return $this->link($uri, 'dns-prefetch', $attributes); } @@ -106,7 +102,7 @@ public function dnsPrefetch(string $uri, array $attributes = []) * * @return string The path of the asset */ - public function preconnect(string $uri, array $attributes = []) + public function preconnect(string $uri, array $attributes = []): string { return $this->link($uri, 'preconnect', $attributes); } @@ -118,7 +114,7 @@ public function preconnect(string $uri, array $attributes = []) * * @return string The path of the asset */ - public function prefetch(string $uri, array $attributes = []) + public function prefetch(string $uri, array $attributes = []): string { return $this->link($uri, 'prefetch', $attributes); } @@ -130,7 +126,7 @@ public function prefetch(string $uri, array $attributes = []) * * @return string The path of the asset */ - public function prerender(string $uri, array $attributes = []) + public function prerender(string $uri, array $attributes = []): string { return $this->link($uri, 'prerender', $attributes); } diff --git a/src/Symfony/Bridge/Twig/Extension/WorkflowExtension.php b/src/Symfony/Bridge/Twig/Extension/WorkflowExtension.php index a81ad61710f6c..d385567b13501 100644 --- a/src/Symfony/Bridge/Twig/Extension/WorkflowExtension.php +++ b/src/Symfony/Bridge/Twig/Extension/WorkflowExtension.php @@ -21,10 +21,8 @@ * WorkflowExtension. * * @author Grégoire Pineau - * - * @final */ -class WorkflowExtension extends AbstractExtension +final class WorkflowExtension extends AbstractExtension { private $workflowRegistry; @@ -34,7 +32,7 @@ public function __construct(Registry $workflowRegistry) } /** - * @return TwigFunction[] + * {@inheritdoc} */ public function getFunctions(): array { @@ -50,10 +48,8 @@ public function getFunctions(): array /** * Returns true if the transition is enabled. - * - * @return bool true if the transition is enabled */ - public function canTransition(object $subject, string $transitionName, string $name = null) + public function canTransition(object $subject, string $transitionName, string $name = null): bool { return $this->workflowRegistry->get($subject, $name)->can($subject, $transitionName); } @@ -63,17 +59,15 @@ public function canTransition(object $subject, string $transitionName, string $n * * @return Transition[] All enabled transitions */ - public function getEnabledTransitions(object $subject, string $name = null) + public function getEnabledTransitions(object $subject, string $name = null): array { return $this->workflowRegistry->get($subject, $name)->getEnabledTransitions($subject); } /** * Returns true if the place is marked. - * - * @return bool true if the transition is enabled */ - public function hasMarkedPlace(object $subject, string $placeName, string $name = null) + public function hasMarkedPlace(object $subject, string $placeName, string $name = null): bool { return $this->workflowRegistry->get($subject, $name)->getMarking($subject)->has($placeName); } @@ -83,7 +77,7 @@ public function hasMarkedPlace(object $subject, string $placeName, string $name * * @return string[]|int[] */ - public function getMarkedPlaces(object $subject, bool $placesNameOnly = true, string $name = null) + public function getMarkedPlaces(object $subject, bool $placesNameOnly = true, string $name = null): array { $places = $this->workflowRegistry->get($subject, $name)->getMarking($subject)->getPlaces(); @@ -117,9 +111,4 @@ public function buildTransitionBlockerList(object $subject, string $transitionNa return $workflow->buildTransitionBlockerList($subject, $transitionName); } - - public function getName() - { - return 'workflow'; - } } diff --git a/src/Symfony/Bridge/Twig/Extension/YamlExtension.php b/src/Symfony/Bridge/Twig/Extension/YamlExtension.php index fcb53cb58ee16..63df1336030bf 100644 --- a/src/Symfony/Bridge/Twig/Extension/YamlExtension.php +++ b/src/Symfony/Bridge/Twig/Extension/YamlExtension.php @@ -12,7 +12,6 @@ namespace Symfony\Bridge\Twig\Extension; use Symfony\Component\Yaml\Dumper as YamlDumper; -use Symfony\Component\Yaml\Yaml; use Twig\Extension\AbstractExtension; use Twig\TwigFilter; @@ -20,15 +19,11 @@ * Provides integration of the Yaml component with Twig. * * @author Fabien Potencier - * - * @final */ -class YamlExtension extends AbstractExtension +final class YamlExtension extends AbstractExtension { /** * {@inheritdoc} - * - * @return TwigFilter[] */ public function getFilters(): array { @@ -38,7 +33,7 @@ public function getFilters(): array ]; } - public function encode($input, int $inline = 0, int $dumpObjects = 0) + public function encode($input, int $inline = 0, int $dumpObjects = 0): string { static $dumper; @@ -53,7 +48,7 @@ public function encode($input, int $inline = 0, int $dumpObjects = 0) return $dumper->dump($input, $inline, 0, false, $dumpObjects); } - public function dump($value, int $inline = 0, int $dumpObjects = 0) + public function dump($value, int $inline = 0, int $dumpObjects = 0): string { if (\is_resource($value)) { return '%Resource%'; @@ -65,12 +60,4 @@ public function dump($value, int $inline = 0, int $dumpObjects = 0) return $this->encode($value, $inline, $dumpObjects); } - - /** - * {@inheritdoc} - */ - public function getName() - { - return 'yaml'; - } } diff --git a/src/Symfony/Bridge/Twig/Node/DumpNode.php b/src/Symfony/Bridge/Twig/Node/DumpNode.php index 9aad5d3260b49..205381c11d53e 100644 --- a/src/Symfony/Bridge/Twig/Node/DumpNode.php +++ b/src/Symfony/Bridge/Twig/Node/DumpNode.php @@ -16,14 +16,12 @@ /** * @author Julien Galenski - * - * @final */ -class DumpNode extends Node +final class DumpNode extends Node { private $varPrefix; - public function __construct($varPrefix, Node $values = null, int $lineno, string $tag = null) + public function __construct($varPrefix, ?Node $values, int $lineno, string $tag = null) { $nodes = []; if (null !== $values) { diff --git a/src/Symfony/Bridge/Twig/Node/FormThemeNode.php b/src/Symfony/Bridge/Twig/Node/FormThemeNode.php index f2e75cafd4553..e37311267bb17 100644 --- a/src/Symfony/Bridge/Twig/Node/FormThemeNode.php +++ b/src/Symfony/Bridge/Twig/Node/FormThemeNode.php @@ -17,10 +17,8 @@ /** * @author Fabien Potencier - * - * @final */ -class FormThemeNode extends Node +final class FormThemeNode extends Node { public function __construct(Node $form, Node $resources, int $lineno, string $tag = null, bool $only = false) { diff --git a/src/Symfony/Bridge/Twig/Node/RenderBlockNode.php b/src/Symfony/Bridge/Twig/Node/RenderBlockNode.php index eee3cd5a3c1e0..4d4cf61365772 100644 --- a/src/Symfony/Bridge/Twig/Node/RenderBlockNode.php +++ b/src/Symfony/Bridge/Twig/Node/RenderBlockNode.php @@ -21,10 +21,8 @@ * is "foo", the block "foo" will be rendered. * * @author Bernhard Schussek - * - * @final */ -class RenderBlockNode extends FunctionExpression +final class RenderBlockNode extends FunctionExpression { public function compile(Compiler $compiler): void { diff --git a/src/Symfony/Bridge/Twig/Node/SearchAndRenderBlockNode.php b/src/Symfony/Bridge/Twig/Node/SearchAndRenderBlockNode.php index d7a3c40f5ab8d..888171f1380be 100644 --- a/src/Symfony/Bridge/Twig/Node/SearchAndRenderBlockNode.php +++ b/src/Symfony/Bridge/Twig/Node/SearchAndRenderBlockNode.php @@ -18,10 +18,8 @@ /** * @author Bernhard Schussek - * - * @final */ -class SearchAndRenderBlockNode extends FunctionExpression +final class SearchAndRenderBlockNode extends FunctionExpression { public function compile(Compiler $compiler): void { diff --git a/src/Symfony/Bridge/Twig/Node/StopwatchNode.php b/src/Symfony/Bridge/Twig/Node/StopwatchNode.php index a1930281343dc..cfa4d8a197f9b 100644 --- a/src/Symfony/Bridge/Twig/Node/StopwatchNode.php +++ b/src/Symfony/Bridge/Twig/Node/StopwatchNode.php @@ -19,10 +19,8 @@ * Represents a stopwatch node. * * @author Wouter J - * - * @final */ -class StopwatchNode extends Node +final class StopwatchNode extends Node { public function __construct(Node $name, Node $body, AssignNameExpression $var, int $lineno = 0, string $tag = null) { diff --git a/src/Symfony/Bridge/Twig/Node/TransDefaultDomainNode.php b/src/Symfony/Bridge/Twig/Node/TransDefaultDomainNode.php index 5a053990aa527..df29f0a19931f 100644 --- a/src/Symfony/Bridge/Twig/Node/TransDefaultDomainNode.php +++ b/src/Symfony/Bridge/Twig/Node/TransDefaultDomainNode.php @@ -17,10 +17,8 @@ /** * @author Fabien Potencier - * - * @final */ -class TransDefaultDomainNode extends Node +final class TransDefaultDomainNode extends Node { public function __construct(AbstractExpression $expr, int $lineno = 0, string $tag = null) { diff --git a/src/Symfony/Bridge/Twig/Node/TransNode.php b/src/Symfony/Bridge/Twig/Node/TransNode.php index 68ee49ae55b73..da2b85d1c2861 100644 --- a/src/Symfony/Bridge/Twig/Node/TransNode.php +++ b/src/Symfony/Bridge/Twig/Node/TransNode.php @@ -19,15 +19,10 @@ use Twig\Node\Node; use Twig\Node\TextNode; -// BC/FC with namespaced Twig -class_exists('Twig\Node\Expression\ArrayExpression'); - /** * @author Fabien Potencier - * - * @final */ -class TransNode extends Node +final class TransNode extends Node { public function __construct(Node $body, Node $domain = null, AbstractExpression $count = null, AbstractExpression $vars = null, AbstractExpression $locale = null, int $lineno = 0, string $tag = null) { @@ -105,7 +100,7 @@ public function compile(Compiler $compiler): void $compiler->raw(");\n"); } - protected function compileString(Node $body, ArrayExpression $vars, bool $ignoreStrictCheck = false) + private function compileString(Node $body, ArrayExpression $vars, bool $ignoreStrictCheck = false): array { if ($body instanceof ConstantExpression) { $msg = $body->getAttribute('value'); diff --git a/src/Symfony/Bridge/Twig/NodeVisitor/TranslationDefaultDomainNodeVisitor.php b/src/Symfony/Bridge/Twig/NodeVisitor/TranslationDefaultDomainNodeVisitor.php index db9f35e14e01e..55bc3ae9a8959 100644 --- a/src/Symfony/Bridge/Twig/NodeVisitor/TranslationDefaultDomainNodeVisitor.php +++ b/src/Symfony/Bridge/Twig/NodeVisitor/TranslationDefaultDomainNodeVisitor.php @@ -27,10 +27,8 @@ /** * @author Fabien Potencier - * - * @final */ -class TranslationDefaultDomainNodeVisitor extends AbstractNodeVisitor +final class TranslationDefaultDomainNodeVisitor extends AbstractNodeVisitor { private $scope; @@ -126,7 +124,7 @@ private function isNamedArguments(Node $arguments): bool return false; } - private function getVarName() + private function getVarName(): string { return sprintf('__internal_%s', hash('sha256', uniqid(mt_rand(), true), false)); } diff --git a/src/Symfony/Bridge/Twig/NodeVisitor/TranslationNodeVisitor.php b/src/Symfony/Bridge/Twig/NodeVisitor/TranslationNodeVisitor.php index a219986f1a0ae..89a15cd622c5d 100644 --- a/src/Symfony/Bridge/Twig/NodeVisitor/TranslationNodeVisitor.php +++ b/src/Symfony/Bridge/Twig/NodeVisitor/TranslationNodeVisitor.php @@ -22,29 +22,27 @@ * TranslationNodeVisitor extracts translation messages. * * @author Fabien Potencier - * - * @final */ -class TranslationNodeVisitor extends AbstractNodeVisitor +final class TranslationNodeVisitor extends AbstractNodeVisitor { const UNDEFINED_DOMAIN = '_undefined'; private $enabled = false; private $messages = []; - public function enable() + public function enable(): void { $this->enabled = true; $this->messages = []; } - public function disable() + public function disable(): void { $this->enabled = false; $this->messages = []; } - public function getMessages() + public function getMessages(): array { return $this->messages; } diff --git a/src/Symfony/Bridge/Twig/Tests/Extension/CodeExtensionTest.php b/src/Symfony/Bridge/Twig/Tests/Extension/CodeExtensionTest.php index 874faeeb99955..33bb266cb6a2f 100644 --- a/src/Symfony/Bridge/Twig/Tests/Extension/CodeExtensionTest.php +++ b/src/Symfony/Bridge/Twig/Tests/Extension/CodeExtensionTest.php @@ -44,7 +44,7 @@ public function testGettingMethodAbbreviation($method, $abbr) $this->assertEquals($this->getExtension()->abbrMethod($method), $abbr); } - public function getClassNameProvider() + public function getClassNameProvider(): array { return [ ['F\Q\N\Foo', 'Foo'], @@ -52,7 +52,7 @@ public function getClassNameProvider() ]; } - public function getMethodNameProvider() + public function getMethodNameProvider(): array { return [ ['F\Q\N\Foo::Method', 'Foo::Method()'], @@ -62,12 +62,7 @@ public function getMethodNameProvider() ]; } - public function testGetName() - { - $this->assertEquals('code', $this->getExtension()->getName()); - } - - protected function getExtension() + protected function getExtension(): CodeExtension { return new CodeExtension(new FileLinkFormatter('proto://%f#&line=%l&'.substr(__FILE__, 0, 5).'>foobar'), \DIRECTORY_SEPARATOR.'project', 'UTF-8'); } diff --git a/src/Symfony/Bridge/Twig/TokenParser/DumpTokenParser.php b/src/Symfony/Bridge/Twig/TokenParser/DumpTokenParser.php index 1721e2538b0a1..341dc41855ab0 100644 --- a/src/Symfony/Bridge/Twig/TokenParser/DumpTokenParser.php +++ b/src/Symfony/Bridge/Twig/TokenParser/DumpTokenParser.php @@ -26,10 +26,8 @@ * {% dump foo, bar %} * * @author Julien Galenski - * - * @final */ -class DumpTokenParser extends AbstractTokenParser +final class DumpTokenParser extends AbstractTokenParser { /** * {@inheritdoc} diff --git a/src/Symfony/Bridge/Twig/TokenParser/FormThemeTokenParser.php b/src/Symfony/Bridge/Twig/TokenParser/FormThemeTokenParser.php index bf0ddfde86421..ef5dacb59ddd1 100644 --- a/src/Symfony/Bridge/Twig/TokenParser/FormThemeTokenParser.php +++ b/src/Symfony/Bridge/Twig/TokenParser/FormThemeTokenParser.php @@ -21,10 +21,8 @@ * Token Parser for the 'form_theme' tag. * * @author Fabien Potencier - * - * @final */ -class FormThemeTokenParser extends AbstractTokenParser +final class FormThemeTokenParser extends AbstractTokenParser { /** * {@inheritdoc} diff --git a/src/Symfony/Bridge/Twig/TokenParser/StopwatchTokenParser.php b/src/Symfony/Bridge/Twig/TokenParser/StopwatchTokenParser.php index 59d994036f174..a70e94b801b65 100644 --- a/src/Symfony/Bridge/Twig/TokenParser/StopwatchTokenParser.php +++ b/src/Symfony/Bridge/Twig/TokenParser/StopwatchTokenParser.php @@ -21,10 +21,8 @@ * Token Parser for the stopwatch tag. * * @author Wouter J - * - * @final */ -class StopwatchTokenParser extends AbstractTokenParser +final class StopwatchTokenParser extends AbstractTokenParser { protected $stopwatchIsAvailable; @@ -54,7 +52,7 @@ public function parse(Token $token): Node return $body; } - public function decideStopwatchEnd(Token $token) + public function decideStopwatchEnd(Token $token): bool { return $token->test('endstopwatch'); } diff --git a/src/Symfony/Bridge/Twig/TokenParser/TransDefaultDomainTokenParser.php b/src/Symfony/Bridge/Twig/TokenParser/TransDefaultDomainTokenParser.php index 9c1d155ce932b..19b820497d9fa 100644 --- a/src/Symfony/Bridge/Twig/TokenParser/TransDefaultDomainTokenParser.php +++ b/src/Symfony/Bridge/Twig/TokenParser/TransDefaultDomainTokenParser.php @@ -20,10 +20,8 @@ * Token Parser for the 'trans_default_domain' tag. * * @author Fabien Potencier - * - * @final */ -class TransDefaultDomainTokenParser extends AbstractTokenParser +final class TransDefaultDomainTokenParser extends AbstractTokenParser { /** * {@inheritdoc} diff --git a/src/Symfony/Bridge/Twig/TokenParser/TransTokenParser.php b/src/Symfony/Bridge/Twig/TokenParser/TransTokenParser.php index 940eb6c252799..ffe8828590852 100644 --- a/src/Symfony/Bridge/Twig/TokenParser/TransTokenParser.php +++ b/src/Symfony/Bridge/Twig/TokenParser/TransTokenParser.php @@ -24,10 +24,8 @@ * Token Parser for the 'trans' tag. * * @author Fabien Potencier - * - * @final */ -class TransTokenParser extends AbstractTokenParser +final class TransTokenParser extends AbstractTokenParser { /** * {@inheritdoc} @@ -82,7 +80,7 @@ public function parse(Token $token): Node return new TransNode($body, $domain, $count, $vars, $locale, $lineno, $this->getTag()); } - public function decideTransFork(Token $token) + public function decideTransFork(Token $token): bool { return $token->test(['endtrans']); }