From 1353694bfd7a9861238c5e0e2e56fce67f4b5e07 Mon Sep 17 00:00:00 2001 From: Roland Franssen Date: Sun, 25 Feb 2018 10:49:14 +0100 Subject: [PATCH] [Config] Introduce BuilderAwareInterface --- .../Builder/BuilderAwareInterface.php | 22 +++++++++++++++++++ .../Config/Definition/Builder/NodeBuilder.php | 2 +- .../Builder/ParentNodeDefinitionInterface.php | 4 +--- 3 files changed, 24 insertions(+), 4 deletions(-) create mode 100644 src/Symfony/Component/Config/Definition/Builder/BuilderAwareInterface.php 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 e780777a1e..2e51deef59 100644 --- a/src/Symfony/Component/Config/Definition/Builder/NodeBuilder.php +++ b/src/Symfony/Component/Config/Definition/Builder/NodeBuilder.php @@ -186,7 +186,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 575495bb68..9572087741 100644 --- a/src/Symfony/Component/Config/Definition/Builder/ParentNodeDefinitionInterface.php +++ b/src/Symfony/Component/Config/Definition/Builder/ParentNodeDefinitionInterface.php @@ -16,11 +16,9 @@ namespace Symfony\Component\Config\Definition\Builder; * * @author Victor Berchet */ -interface ParentNodeDefinitionInterface +interface ParentNodeDefinitionInterface extends BuilderAwareInterface { public function children(); public function append(NodeDefinition $node); - - public function setBuilder(NodeBuilder $builder); }