77use ArrayIterator ;
88use Budgegeria \Bundle \IntlBundle \DependencyInjection \CompilerPass \SorterBuilderKeyIterator ;
99use Budgegeria \IntlSort \Builder ;
10+ use Override ;
1011use ReflectionClass ;
1112use ReflectionMethod ;
12- use Symfony \Component \Config \Definition \Builder \NodeDefinition ;
13+ use Symfony \Component \Config \Definition \Builder \ArrayNodeDefinition ;
1314use Symfony \Component \Config \Definition \Builder \TreeBuilder ;
1415use Symfony \Component \Config \Definition \ConfigurationInterface ;
1516
1617class Configuration implements ConfigurationInterface
1718{
19+ /** @phpstan-return TreeBuilder<'array'> */
20+ #[Override]
1821 public function getConfigTreeBuilder (): TreeBuilder
1922 {
2023 $ treeBuilder = new TreeBuilder ('budgegeria_intl ' );
@@ -26,7 +29,8 @@ public function getConfigTreeBuilder(): TreeBuilder
2629 return $ treeBuilder ;
2730 }
2831
29- private function buildGeneric (NodeDefinition $ node ): void
32+ /** @phpstan-param ArrayNodeDefinition<TreeBuilder<'array'>> $node */
33+ private function buildGeneric (ArrayNodeDefinition $ node ): void
3034 {
3135 $ node
3236 ->children ()
@@ -35,7 +39,8 @@ private function buildGeneric(NodeDefinition $node): void
3539 ->end ();
3640 }
3741
38- private function buildSorter (NodeDefinition $ node ): void
42+ /** @phpstan-param ArrayNodeDefinition<TreeBuilder<'array'>> $node */
43+ private function buildSorter (ArrayNodeDefinition $ node ): void
3944 {
4045 $ sorterChildren = $ node ->children ()
4146 ->arrayNode ('sorter ' )
@@ -44,7 +49,7 @@ private function buildSorter(NodeDefinition $node): void
4449
4550 $ methods = new ArrayIterator ($ this ->getClassMethods (Builder::class));
4651 foreach (new SorterBuilderKeyIterator ($ methods ) as $ sorterConfigNames ) {
47- $ sorterChildren ->scalarNode ($ sorterConfigNames )->end ();
52+ $ sorterChildren ->scalarNode (( string ) $ sorterConfigNames )->end ();
4853 }
4954
5055 $ sorterChildren ->scalarNode ('locale ' )->end ();
0 commit comments