Mercurial > hg > isophonics-drupal-site
diff vendor/symfony/dependency-injection/Compiler/ServiceReferenceGraph.php @ 14:1fec387a4317
Update Drupal core to 8.5.2 via Composer
author | Chris Cannam |
---|---|
date | Mon, 23 Apr 2018 09:46:53 +0100 |
parents | 4c8ae668cc8c |
children | 129ea1e6d783 |
line wrap: on
line diff
--- a/vendor/symfony/dependency-injection/Compiler/ServiceReferenceGraph.php Mon Apr 23 09:33:26 2018 +0100 +++ b/vendor/symfony/dependency-injection/Compiler/ServiceReferenceGraph.php Mon Apr 23 09:46:53 2018 +0100 @@ -20,6 +20,8 @@ * it themselves which improves performance quite a lot. * * @author Johannes M. Schmitt <schmittjoh@gmail.com> + * + * @final since version 3.4 */ class ServiceReferenceGraph { @@ -73,6 +75,9 @@ */ public function clear() { + foreach ($this->nodes as $node) { + $node->clear(); + } $this->nodes = array(); } @@ -80,16 +85,25 @@ * Connects 2 nodes together in the Graph. * * @param string $sourceId - * @param string $sourceValue + * @param mixed $sourceValue * @param string $destId - * @param string $destValue + * @param mixed $destValue * @param string $reference + * @param bool $lazy + * @param bool $weak */ - public function connect($sourceId, $sourceValue, $destId, $destValue = null, $reference = null) + public function connect($sourceId, $sourceValue, $destId, $destValue = null, $reference = null/*, bool $lazy = false, bool $weak = false*/) { + $lazy = func_num_args() >= 6 ? func_get_arg(5) : false; + $weak = func_num_args() >= 7 ? func_get_arg(6) : false; + + if (null === $sourceId || null === $destId) { + return; + } + $sourceNode = $this->createNode($sourceId, $sourceValue); $destNode = $this->createNode($destId, $destValue); - $edge = new ServiceReferenceGraphEdge($sourceNode, $destNode, $reference); + $edge = new ServiceReferenceGraphEdge($sourceNode, $destNode, $reference, $lazy, $weak); $sourceNode->addOutEdge($edge); $destNode->addInEdge($edge); @@ -99,7 +113,7 @@ * Creates a graph node. * * @param string $id - * @param string $value + * @param mixed $value * * @return ServiceReferenceGraphNode */