Skip to content

Commit aac8fe0

Browse files
committed
Support stringNode in Config component
1 parent b003bb4 commit aac8fe0

File tree

4 files changed

+11
-1
lines changed

4 files changed

+11
-1
lines changed

extension.neon

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -254,7 +254,7 @@ services:
254254
tags: [phpstan.broker.dynamicMethodReturnTypeExtension]
255255
arguments:
256256
className: Symfony\Component\Config\Definition\Builder\NodeBuilder
257-
methods: [arrayNode, scalarNode, booleanNode, integerNode, floatNode, enumNode, variableNode]
257+
methods: [arrayNode, scalarNode, stringNode, booleanNode, integerNode, floatNode, enumNode, variableNode]
258258

259259
# NodeBuilder::end() return type
260260
-

src/Type/Symfony/Config/ArrayNodeDefinitionPrototypeDynamicReturnTypeExtension.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ final class ArrayNodeDefinitionPrototypeDynamicReturnTypeExtension implements Dy
1919
private const PROTOTYPE_METHODS = [
2020
'arrayPrototype',
2121
'scalarPrototype',
22+
'stringPrototype',
2223
'booleanPrototype',
2324
'integerPrototype',
2425
'floatPrototype',
@@ -29,6 +30,7 @@ final class ArrayNodeDefinitionPrototypeDynamicReturnTypeExtension implements Dy
2930
private const MAPPING = [
3031
'variable' => 'Symfony\Component\Config\Definition\Builder\VariableNodeDefinition',
3132
'scalar' => 'Symfony\Component\Config\Definition\Builder\ScalarNodeDefinition',
33+
'string' => 'Symfony\Component\Config\Definition\Builder\StringNodeDefinition',
3234
'boolean' => 'Symfony\Component\Config\Definition\Builder\BooleanNodeDefinition',
3335
'integer' => 'Symfony\Component\Config\Definition\Builder\IntegerNodeDefinition',
3436
'float' => 'Symfony\Component\Config\Definition\Builder\FloatNodeDefinition',

src/Type/Symfony/Config/TreeBuilderDynamicReturnTypeExtension.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ final class TreeBuilderDynamicReturnTypeExtension implements DynamicStaticMethod
1818
private const MAPPING = [
1919
'variable' => 'Symfony\Component\Config\Definition\Builder\VariableNodeDefinition',
2020
'scalar' => 'Symfony\Component\Config\Definition\Builder\ScalarNodeDefinition',
21+
'string' => 'Symfony\Component\Config\Definition\Builder\StringNodeDefinition',
2122
'boolean' => 'Symfony\Component\Config\Definition\Builder\BooleanNodeDefinition',
2223
'integer' => 'Symfony\Component\Config\Definition\Builder\IntegerNodeDefinition',
2324
'float' => 'Symfony\Component\Config\Definition\Builder\FloatNodeDefinition',

tests/Type/Symfony/data/tree_builder.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,13 @@
154154
assertType('Symfony\Component\Config\Definition\Builder\ScalarNodeDefinition', $scalarRootNode->defaultValue("default"));
155155
assertType('Symfony\Component\Config\Definition\Builder\TreeBuilder', $scalarRootNode->defaultValue("default")->end());
156156

157+
$stringTreeBuilder = new TreeBuilder('my_tree', 'string');
158+
$stringRootNode = $stringTreeBuilder->getRootNode();
159+
160+
assertType('Symfony\Component\Config\Definition\Builder\StringNodeDefinition', $stringRootNode);
161+
assertType('Symfony\Component\Config\Definition\Builder\StringNodeDefinition', $stringRootNode->defaultValue("default"));
162+
assertType('Symfony\Component\Config\Definition\Builder\TreeBuilder', $stringRootNode->defaultValue("default")->end());
163+
157164
$booleanTreeBuilder = new TreeBuilder('my_tree', 'boolean');
158165
$booleanRootNode = $booleanTreeBuilder->getRootNode();
159166

0 commit comments

Comments
 (0)