File tree Expand file tree Collapse file tree 3 files changed +35
-0
lines changed
TwigHooks/src/DependencyInjection Expand file tree Collapse file tree 3 files changed +35
-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+ * @phpstan-param ArrayNodeDefinition<NodeParentInterface|null> $rootNode
43+ */
3344 private function addTwigUxConfiguration (ArrayNodeDefinition $ rootNode ): void
3445 {
3546 $ 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,9 @@ public function getConfigTreeBuilder(): TreeBuilder
4149 return $ treeBuilder ;
4250 }
4351
52+ /**
53+ * @phpstan-param ArrayNodeDefinition<NodeParentInterface|null> $rootNode
54+ */
4455 private function addSupportedHookableTypesConfiguration (ArrayNodeDefinition $ rootNode ): void
4556 {
4657 $ rootNode
@@ -58,6 +69,9 @@ private function addSupportedHookableTypesConfiguration(ArrayNodeDefinition $roo
5869 ;
5970 }
6071
72+ /**
73+ * @phpstan-param ArrayNodeDefinition<NodeParentInterface|null> $rootNode
74+ */
6175 private function addHooksConfiguration (ArrayNodeDefinition $ rootNode ): void
6276 {
6377 $ rootNode
You can’t perform that action at this time.
0 commit comments