Submit
Path:
~
/
/
opt
/
alt
/
php55
/
usr
/
share
/
pear
/
Symfony
/
Component
/
DependencyInjection
/
Compiler
/
File Content:
ServiceReferenceGraph.php
<?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\DependencyInjection\Compiler; use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException; /** * This is a directed graph of your services. * * This information can be used by your compiler passes instead of collecting * it themselves which improves performance quite a lot. * * @author Johannes M. Schmitt <schmittjoh@gmail.com> */ class ServiceReferenceGraph { /** * @var ServiceReferenceGraphNode[] */ private $nodes = array(); /** * Checks if the graph has a specific node. * * @param string $id Id to check * * @return Boolean */ public function hasNode($id) { return isset($this->nodes[$id]); } /** * Gets a node by identifier. * * @param string $id The id to retrieve * * @return ServiceReferenceGraphNode The node matching the supplied identifier * * @throws InvalidArgumentException if no node matches the supplied identifier */ public function getNode($id) { if (!isset($this->nodes[$id])) { throw new InvalidArgumentException(sprintf('There is no node with id "%s".', $id)); } return $this->nodes[$id]; } /** * Returns all nodes. * * @return ServiceReferenceGraphNode[] An array of all ServiceReferenceGraphNode objects */ public function getNodes() { return $this->nodes; } /** * Clears all nodes. */ public function clear() { $this->nodes = array(); } /** * Connects 2 nodes together in the Graph. * * @param string $sourceId * @param string $sourceValue * @param string $destId * @param string $destValue * @param string $reference */ public function connect($sourceId, $sourceValue, $destId, $destValue = null, $reference = null) { $sourceNode = $this->createNode($sourceId, $sourceValue); $destNode = $this->createNode($destId, $destValue); $edge = new ServiceReferenceGraphEdge($sourceNode, $destNode, $reference); $sourceNode->addOutEdge($edge); $destNode->addInEdge($edge); } /** * Creates a graph node. * * @param string $id * @param string $value * * @return ServiceReferenceGraphNode */ private function createNode($id, $value) { if (isset($this->nodes[$id]) && $this->nodes[$id]->getValue() === $value) { return $this->nodes[$id]; } return $this->nodes[$id] = new ServiceReferenceGraphNode($id, $value); } }
Edit
Rename
Chmod
Delete
FILE
FOLDER
Name
Size
Permission
Action
AnalyzeServiceReferencesPass.php
4512 bytes
0644
CheckCircularReferencesPass.php
2417 bytes
0644
CheckDefinitionValidityPass.php
3684 bytes
0644
CheckExceptionOnInvalidReferenceBehaviorPass.php
2102 bytes
0644
CheckReferenceValidityPass.php
5634 bytes
0644
Compiler.php
2613 bytes
0644
CompilerPassInterface.php
746 bytes
0644
InlineServiceDefinitionsPass.php
4592 bytes
0644
LoggingFormatter.php
1468 bytes
0644
MergeExtensionConfigurationPass.php
1884 bytes
0644
PassConfig.php
6040 bytes
0644
RemoveAbstractDefinitionsPass.php
1063 bytes
0644
RemovePrivateAliasesPass.php
1267 bytes
0644
RemoveUnusedDefinitionsPass.php
2772 bytes
0644
RepeatablePassInterface.php
691 bytes
0644
RepeatedPass.php
2083 bytes
0644
ReplaceAliasByActualDefinitionPass.php
4166 bytes
0644
ResolveDefinitionTemplatesPass.php
5550 bytes
0644
ResolveInvalidReferencesPass.php
3500 bytes
0644
ResolveParameterPlaceHoldersPass.php
2158 bytes
0644
ResolveReferencesToAliasesPass.php
2896 bytes
0644
ServiceReferenceGraph.php
2857 bytes
0644
ServiceReferenceGraphEdge.php
1517 bytes
0644
ServiceReferenceGraphNode.php
2545 bytes
0644
N4ST4R_ID | Naxtarrr