Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
| Total | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
CRAP | |
0.00% |
0 / 7 |
| PluginDependencyTrait | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
20 | |
0.00% |
0 / 7 |
| calculatePluginDependencies | |
0.00% |
0 / 1 |
20 | |
0.00% |
0 / 7 |
|||
| <?php | |
| /** | |
| * @file | |
| * Contains \Drupal\Core\Plugin\PluginDependencyTrait. | |
| */ | |
| namespace Drupal\Core\Plugin; | |
| use Drupal\Component\Plugin\DependentPluginInterface; | |
| use Drupal\Component\Plugin\PluginInspectionInterface; | |
| use Drupal\Core\Entity\DependencyTrait; | |
| /** | |
| * Provides a trait for calculating the dependencies of a plugin. | |
| */ | |
| trait PluginDependencyTrait { | |
| use DependencyTrait; | |
| /** | |
| * Calculates and adds dependencies of a specific plugin instance. | |
| * | |
| * Dependencies are added for the module that provides the plugin, as well | |
| * as any dependencies declared by the instance's calculateDependencies() | |
| * method, if it implements | |
| * \Drupal\Component\Plugin\DependentPluginInterface. | |
| * | |
| * @param \Drupal\Component\Plugin\PluginInspectionInterface $instance | |
| * The plugin instance. | |
| */ | |
| protected function calculatePluginDependencies(PluginInspectionInterface $instance) { | |
| $definition = $instance->getPluginDefinition(); | |
| $this->addDependency('module', $definition['provider']); | |
| // Plugins can declare additional dependencies in their definition. | |
| if (isset($definition['config_dependencies'])) { | |
| $this->addDependencies($definition['config_dependencies']); | |
| } | |
| // If a plugin is dependent, calculate its dependencies. | |
| if ($instance instanceof DependentPluginInterface && $plugin_dependencies = $instance->calculateDependencies()) { | |
| $this->addDependencies($plugin_dependencies); | |
| } | |
| } | |
| } |