File tree Expand file tree Collapse file tree 3 files changed +38
-0
lines changed
TwigHooks/src/DependencyInjection Expand file tree Collapse file tree 3 files changed +38
-0
lines changed Original file line number Diff line number Diff line change @@ -9,3 +9,13 @@ parameters:
99 paths :
1010 - 'src/TwigExtra/src'
1111 - 'src/TwigHooks/src'
12+
13+ ignoreErrors :
14+ # Symfony Config component relies on magic methods in NodeBuilder.
15+ # PHPStan struggles to resolve these methods on the builder class when complex generics are involved,
16+ # resulting in false positive "unknown class" errors.
17+ -
18+ message : ' #Call to method \w+Node\(\) on an unknown class .*NodeBuilder.*#'
19+ paths :
20+ - 'src/TwigHooks/src/DependencyInjection/Configuration.php'
21+ - 'src/TwigExtra/src/Symfony/DependencyInjection/Configuration.php'
Original file line number Diff line number Diff line change 1414namespace Sylius \TwigExtra \Symfony \DependencyInjection ;
1515
1616use Symfony \Component \Config \Definition \Builder \ArrayNodeDefinition ;
17+ use Symfony \Component \Config \Definition \Builder \NodeParentInterface ;
1718use Symfony \Component \Config \Definition \Builder \TreeBuilder ;
1819use Symfony \Component \Config \Definition \ConfigurationInterface ;
1920
2021final class Configuration implements ConfigurationInterface
2122{
23+ /**
24+ * @phpstan-return TreeBuilder<'array'>
25+ */
2226 public function getConfigTreeBuilder (): TreeBuilder
2327 {
2428 $ treeBuilder = new TreeBuilder ('sylius_twig_extra ' );
2529
30+ /**
31+ * @var ArrayNodeDefinition $rootNode
32+ * @phpstan-var ArrayNodeDefinition<NodeParentInterface|null> $rootNode
33+ */
2634 $ rootNode = $ treeBuilder ->getRootNode ();
2735
2836 $ this ->addTwigUxConfiguration ($ rootNode );
2937
3038 return $ treeBuilder ;
3139 }
3240
41+ /**
42+ * @param ArrayNodeDefinition $rootNode
43+ * @phpstan-param ArrayNodeDefinition<NodeParentInterface|null> $rootNode
44+ */
3345 private function addTwigUxConfiguration (ArrayNodeDefinition $ rootNode ): void
3446 {
3547 $ rootNode
Original file line number Diff line number Diff line change 1717use Sylius \TwigHooks \Hookable \HookableComponent ;
1818use Sylius \TwigHooks \Hookable \HookableTemplate ;
1919use Symfony \Component \Config \Definition \Builder \ArrayNodeDefinition ;
20+ use Symfony \Component \Config \Definition \Builder \NodeParentInterface ;
2021use Symfony \Component \Config \Definition \Builder \TreeBuilder ;
2122use Symfony \Component \Config \Definition \ConfigurationInterface ;
2223
2324final class Configuration implements ConfigurationInterface
2425{
26+ /**
27+ * @phpstan-return TreeBuilder<'array'>
28+ */
2529 public function getConfigTreeBuilder (): TreeBuilder
2630 {
2731 $ treeBuilder = new TreeBuilder ('sylius_twig_hooks ' );
2832
33+ /**
34+ * @var ArrayNodeDefinition $rootNode
35+ * @phpstan-var ArrayNodeDefinition<NodeParentInterface|null> $rootNode
36+ */
2937 $ rootNode = $ treeBuilder ->getRootNode ();
3038
3139 $ rootNode
@@ -41,6 +49,10 @@ public function getConfigTreeBuilder(): TreeBuilder
4149 return $ treeBuilder ;
4250 }
4351
52+ /**
53+ * @param ArrayNodeDefinition $rootNode
54+ * @phpstan-param ArrayNodeDefinition<NodeParentInterface|null> $rootNode
55+ */
4456 private function addSupportedHookableTypesConfiguration (ArrayNodeDefinition $ rootNode ): void
4557 {
4658 $ rootNode
@@ -58,6 +70,10 @@ private function addSupportedHookableTypesConfiguration(ArrayNodeDefinition $roo
5870 ;
5971 }
6072
73+ /**
74+ * @param ArrayNodeDefinition $rootNode
75+ * @phpstan-param ArrayNodeDefinition<NodeParentInterface|null> $rootNode
76+ */
6177 private function addHooksConfiguration (ArrayNodeDefinition $ rootNode ): void
6278 {
6379 $ rootNode
You can’t perform that action at this time.
0 commit comments