Skip to content

Commit 2d713c1

Browse files
committed
Services with tag twig.extension should implement Twig_ExtensionInterface
Context: Twig >= 1.38.0 or >= 2.7.0 Before: - Twig_Extension aliased to Twig\Extension\AbstractExtension After: - Twig\Extension\AbstractExtension aliased to Twig_Extension But we cannot just check for Twig\Extension\AbstractExtension instead of \Twig_Extension because users with old Twig version don't have this class. So, we check with the interface \Twig_ExtensionInterface because it exists since 1.0.0 and 2.0.0 and works with >= 1.38.0 and >= 2.7.0 because \Twig\Extension\ExtensionInterface is aliased to \Twig_ExtensionInterface
1 parent 75d741d commit 2d713c1

File tree

2 files changed

+2
-2
lines changed

2 files changed

+2
-2
lines changed

src/main/java/fr/adrienbrault/idea/symfony2plugin/util/dict/ServiceUtil.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ public class ServiceUtil {
8787
put("translation.loader", "\\Symfony\\Component\\Translation\\Loader\\LoaderInterface");
8888
put("translation.extractor", "\\Symfony\\Component\\Translation\\Extractor\\ExtractorInterface");
8989
put("translation.dumper", "\\Symfony\\Component\\Translation\\Dumper\\DumperInterface");
90-
put("twig.extension", "\\Twig_Extension");
90+
put("twig.extension", "\\Twig_ExtensionInterface");
9191
put("twig.loader", "\\Twig_LoaderInterface");
9292
put("validator.constraint_validator", "Symfony\\Component\\Validator\\ConstraintValidator");
9393
put("validator.initializer", "Symfony\\Component\\Validator\\ObjectInitializerInterface");

src/test/java/fr/adrienbrault/idea/symfony2plugin/tests/codeInspection/service/TaggedExtendsInterfaceClassInspectionTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public void testThatKnownTagsShouldInspectionForMissingServiceClassImplementatio
2727
" class: Tag\\Instance<caret>Check\\EmptyClass\n" +
2828
" tags:\n" +
2929
" - { name: twig.extension }",
30-
"Class needs to implement '\\Twig_Extension' for tag 'twig.extension'"
30+
"Class needs to implement '\\Twig_ExtensionInterface' for tag 'twig.extension'"
3131
);
3232
}
3333

0 commit comments

Comments
 (0)