From f7a22598693afa7fc2ddc4e7d697a957dbbee4d1 Mon Sep 17 00:00:00 2001 From: Roland Franssen Date: Sun, 25 Feb 2018 10:49:14 +0100 Subject: [PATCH 1/3] [Config] Introduce BuilderAwareInterface --- .../Builder/BuilderAwareInterface.php | 25 +++++++++++++++++++ .../Config/Definition/Builder/NodeBuilder.php | 2 +- .../Builder/ParentNodeDefinitionInterface.php | 4 +-- 3 files changed, 27 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 0000000000000..4b79f382b267c --- /dev/null +++ b/src/Symfony/Component/Config/Definition/Builder/BuilderAwareInterface.php @@ -0,0 +1,25 @@ + + * + * 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 built other nodes. + * + * @author Roland Franssen + */ +interface BuilderAwareInterface +{ + /** + * Sets a custom children builder. + */ + 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 e780777a1e837..2e51deef59fe6 100644 --- a/src/Symfony/Component/Config/Definition/Builder/NodeBuilder.php +++ b/src/Symfony/Component/Config/Definition/Builder/NodeBuilder.php @@ -186,7 +186,7 @@ public function node($name, $type) */ 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 575495bb684db..9572087741270 100644 --- a/src/Symfony/Component/Config/Definition/Builder/ParentNodeDefinitionInterface.php +++ b/src/Symfony/Component/Config/Definition/Builder/ParentNodeDefinitionInterface.php @@ -16,11 +16,9 @@ * * @author Victor Berchet */ -interface ParentNodeDefinitionInterface +interface ParentNodeDefinitionInterface extends BuilderAwareInterface { public function children(); public function append(NodeDefinition $node); - - public function setBuilder(NodeBuilder $builder); } From d856eb920f5a569b0d157ea556db9f1af0350f29 Mon Sep 17 00:00:00 2001 From: Roland Franssen Date: Mon, 26 Feb 2018 14:27:07 +0100 Subject: [PATCH 2/3] Update BuilderAwareInterface.php --- .../Config/Definition/Builder/BuilderAwareInterface.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Symfony/Component/Config/Definition/Builder/BuilderAwareInterface.php b/src/Symfony/Component/Config/Definition/Builder/BuilderAwareInterface.php index 4b79f382b267c..f30b8736cf3a3 100644 --- a/src/Symfony/Component/Config/Definition/Builder/BuilderAwareInterface.php +++ b/src/Symfony/Component/Config/Definition/Builder/BuilderAwareInterface.php @@ -12,7 +12,7 @@ namespace Symfony\Component\Config\Definition\Builder; /** - * An interface that can be implemented by nodes which built other nodes. + * An interface that can be implemented by nodes which build other nodes. * * @author Roland Franssen */ From d83decb655fd0a1e201656d222289bc25d140b0f Mon Sep 17 00:00:00 2001 From: Roland Franssen Date: Tue, 6 Mar 2018 13:47:50 +0100 Subject: [PATCH 3/3] Update BuilderAwareInterface.php --- .../Config/Definition/Builder/BuilderAwareInterface.php | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/Symfony/Component/Config/Definition/Builder/BuilderAwareInterface.php b/src/Symfony/Component/Config/Definition/Builder/BuilderAwareInterface.php index f30b8736cf3a3..8efbb58e216e6 100644 --- a/src/Symfony/Component/Config/Definition/Builder/BuilderAwareInterface.php +++ b/src/Symfony/Component/Config/Definition/Builder/BuilderAwareInterface.php @@ -18,8 +18,5 @@ */ interface BuilderAwareInterface { - /** - * Sets a custom children builder. - */ public function setBuilder(NodeBuilder $builder); }