diff -u b/core/core.services.yml b/core/core.services.yml --- b/core/core.services.yml +++ b/core/core.services.yml @@ -1219,7 +1219,9 @@ tags: - { name: twig.extension, priority: 100 } calls: - - [setDependencies, ['@url_generator', '@link_generator', '@theme.manager']] + - [setUrlGenerator, ['@url_generator']] + - [setLinkGenerator, ['@link_generator']] + - [setThemeManager, ['@theme.manager']] # @todo Figure out what to do about debugging functions. # @see http://drupal.org/node/1804998 twig.extension.debug: diff -u b/core/lib/Drupal/Core/Template/TwigExtension.php b/core/lib/Drupal/Core/Template/TwigExtension.php --- b/core/lib/Drupal/Core/Template/TwigExtension.php +++ b/core/lib/Drupal/Core/Template/TwigExtension.php @@ -43,25 +43,45 @@ /** * The theme manager. * - * @var \Drupal\Core\Theme\ThemeManagerInterface; + * @var \Drupal\Core\Theme\ThemeManagerInterface */ protected $themeManager; /** - * Constructs \Drupal\Core\Template\TwigExtension. + * Sets the URL generator. * * @param \Drupal\Core\Routing\UrlGeneratorInterface $url_generator * The URL generator. + * + * @return $this + */ + public function setUrlGenerator(UrlGeneratorInterface $url_generator) { + $this->urlGenerator = $url_generator; + return $this; + } + + /** + * Sets the link generator. + * * @param \Drupal\Core\Utility\LinkGeneratorInterface $link_generator * The link generator. + * + * @return $this + */ + public function setLinkGenerator(LinkGeneratorInterface $link_generator) { + $this->linkGenerator = $link_generator; + return $this; + } + + /** + * Sets the theme manager. + * * @param \Drupal\Core\Theme\ThemeManagerInterface $theme_manager * The theme manager. * * @return $this */ - public function setDependencies(UrlGeneratorInterface $url_generator, LinkGeneratorInterface $link_generator, ThemeManagerInterface $theme_manager) { - $this->urlGenerator = $url_generator; - $this->linkGenerator = $link_generator; + public function setThemeManager(ThemeManagerInterface $theme_manager) { $this->themeManager = $theme_manager; return $this; } diff -u b/core/tests/Drupal/Tests/Core/Template/TwigExtensionTest.php b/core/tests/Drupal/Tests/Core/Template/TwigExtensionTest.php --- b/core/tests/Drupal/Tests/Core/Template/TwigExtensionTest.php +++ b/core/tests/Drupal/Tests/Core/Template/TwigExtensionTest.php @@ -31,13 +31,7 @@ 'autoescape' => TRUE, 'optimizations' => 0 )); - $twig->addExtension((new TwigExtension()) - ->setDependencies( - $this->getMock('Drupal\Core\Routing\UrlGeneratorInterface'), - $this->getMock('Drupal\Core\Utility\LinkGeneratorInterface'), - $this->getMock('Drupal\Core\Theme\ThemeManagerInterface') - ) - ); + $twig->addExtension((new TwigExtension())->setUrlGenerator($this->getMock('Drupal\Core\Routing\UrlGeneratorInterface'))); $nodes = $twig->parse($twig->tokenize($template));