diff --git a/core/lib/Drupal/Component/Plugin/Discovery/DerivativeDiscoveryDecorator.php b/core/lib/Drupal/Component/Plugin/Discovery/DerivativeDiscoveryDecorator.php index cc463fb1b1..6b47af0171 100644 --- a/core/lib/Drupal/Component/Plugin/Discovery/DerivativeDiscoveryDecorator.php +++ b/core/lib/Drupal/Component/Plugin/Discovery/DerivativeDiscoveryDecorator.php @@ -99,16 +99,14 @@ protected function getDerivatives(array $base_plugin_definitions) { $deriver = $this->getDeriver($base_plugin_id, $plugin_definition); if ($deriver) { $derivative_definitions = $deriver->getDerivativeDefinitions($plugin_definition); - if(!empty($derivative_definitions)) { - foreach ($derivative_definitions as $derivative_id => $derivative_definition) { - $plugin_id = $this->encodePluginId($base_plugin_id, $derivative_id); - // Use this definition as defaults if a plugin already defined - // itself as this derivative. - if ($derivative_id && isset($base_plugin_definitions[$plugin_id])) { - $derivative_definition = $this->mergeDerivativeDefinition($base_plugin_definitions[$plugin_id], $derivative_definition); - } - $plugin_definitions[$plugin_id] = $derivative_definition; + foreach ($derivative_definitions as $derivative_id => $derivative_definition) { + $plugin_id = $this->encodePluginId($base_plugin_id, $derivative_id); + // Use this definition as defaults if a plugin already defined + // itself as this derivative. + if ($derivative_id && isset($base_plugin_definitions[$plugin_id])) { + $derivative_definition = $this->mergeDerivativeDefinition($base_plugin_definitions[$plugin_id], $derivative_definition); } + $plugin_definitions[$plugin_id] = $derivative_definition; } } // If a plugin already defined itself as a derivative it might already