diff --git a/src/php/Twig/GeneratorExtension.php b/src/php/Twig/GeneratorExtension.php
index 68bd2932c0d323bf59719064f886aa33a2706e4c..de84160735c0f51f0d5f6b24b8c46283fee48545 100644
--- a/src/php/Twig/GeneratorExtension.php
+++ b/src/php/Twig/GeneratorExtension.php
@@ -22,11 +22,14 @@
 namespace Irstea\NgModelGeneratorBundle\Twig;
 
 use Irstea\NgModelGeneratorBundle\TypescriptHelper;
+use Twig\Extension\AbstractExtension;
+use Twig\TwigFilter;
+use Twig\TwigFunction;
 
 /**
  * Class GeneratorExtension.
  */
-class GeneratorExtension extends \Twig_Extension
+final class GeneratorExtension extends AbstractExtension
 {
     /** @noinspection PhpMissingParentCallCommonInspection */
 
@@ -36,9 +39,9 @@ class GeneratorExtension extends \Twig_Extension
     public function getFilters(): array
     {
         return [
-            new \Twig_Filter('quoteString', [TypescriptHelper::class, 'quoteString']),
-            new \Twig_Filter('objectKey', [TypescriptHelper::class, 'objectLiteralKey']),
-            new \Twig_Filter('indent', [TypescriptHelper::class, 'indent']),
+            new TwigFilter('quoteString', [TypescriptHelper::class, 'quoteString']),
+            new TwigFilter('objectKey', [TypescriptHelper::class, 'objectLiteralKey']),
+            new TwigFilter('indent', [TypescriptHelper::class, 'indent']),
         ];
     }
 
@@ -50,8 +53,8 @@ class GeneratorExtension extends \Twig_Extension
     public function getFunctions(): array
     {
         return [
-            new \Twig_Function('propertyHaser', [TypescriptHelper::class, 'propertyTestor'], ['is_safe' => true]),
-            new \Twig_Function(
+            new TwigFunction('propertyHaser', [TypescriptHelper::class, 'propertyTestor'], ['is_safe' => true]),
+            new TwigFunction(
                 'propertyAccessor',
                 [TypescriptHelper::class, 'propertyAccessor'],
                 ['is_safe' => true]