diff --git a/src/Symfony/Component/Config/Definition/Builder/BuilderAwareInterface.php b/src/Symfony/Component/Config/Definition/Builder/BuilderAwareInterface.php new file mode 100644 index 0000000000..8efbb58e21 --- /dev/null +++ b/src/Symfony/Component/Config/Definition/Builder/BuilderAwareInterface.php @@ -0,0 +1,22 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\Config\Definition\Builder; + +/** + * An interface that can be implemented by nodes which build other nodes. + * + * @author Roland Franssen + */ +interface BuilderAwareInterface +{ + public function setBuilder(NodeBuilder $builder); +} diff --git a/src/Symfony/Component/Config/Definition/Builder/NodeBuilder.php b/src/Symfony/Component/Config/Definition/Builder/NodeBuilder.php index 152a497b14..bf43861fc1 100644 --- a/src/Symfony/Component/Config/Definition/Builder/NodeBuilder.php +++ b/src/Symfony/Component/Config/Definition/Builder/NodeBuilder.php @@ -179,7 +179,7 @@ class NodeBuilder implements NodeParentInterface */ public function append(NodeDefinition $node) { - if ($node instanceof ParentNodeDefinitionInterface) { + if ($node instanceof BuilderAwareInterface) { $builder = clone $this; $builder->setParent(null); $node->setBuilder($builder); diff --git a/src/Symfony/Component/Config/Definition/Builder/ParentNodeDefinitionInterface.php b/src/Symfony/Component/Config/Definition/Builder/ParentNodeDefinitionInterface.php index fe0d253de2..c75de68cab 100644 --- a/src/Symfony/Component/Config/Definition/Builder/ParentNodeDefinitionInterface.php +++ b/src/Symfony/Component/Config/Definition/Builder/ParentNodeDefinitionInterface.php @@ -18,7 +18,7 @@ namespace Symfony\Component\Config\Definition\Builder; * * @method NodeDefinition[] getChildNodeDefinitions() should be implemented since 4.1 */ -interface ParentNodeDefinitionInterface +interface ParentNodeDefinitionInterface extends BuilderAwareInterface { /** * @return NodeBuilder @@ -26,6 +26,4 @@ interface ParentNodeDefinitionInterface public function children(); public function append(NodeDefinition $node); - - public function setBuilder(NodeBuilder $builder); }