reverted: --- b/core/lib/Drupal/Core/Plugin/Discovery/AnnotatedClassDiscovery.php +++ a/core/lib/Drupal/Core/Plugin/Discovery/AnnotatedClassDiscovery.php @@ -33,7 +33,7 @@ */ public function getDefinition($plugin_id) { $plugins = $this->getDefinitions(); + return isset($plugins[$plugin_id]) ? $plugins[$plugin_id] : array(); - return isset($plugins[$plugin_id]) ? $plugins[$plugin_id] : NULL; } /** reverted: --- b/core/lib/Drupal/Core/Plugin/Discovery/CacheDecorator.php +++ a/core/lib/Drupal/Core/Plugin/Discovery/CacheDecorator.php @@ -65,7 +65,7 @@ */ public function getDefinition($plugin_id) { $definitions = $this->getDefinitions(); + return isset($definitions[$plugin_id]) ? $definitions[$plugin_id] : array(); - return isset($definitions[$plugin_id]) ? $definitions[$plugin_id] : NULL; } /** reverted: --- b/core/lib/Drupal/Core/Plugin/Discovery/HookDiscovery.php +++ a/core/lib/Drupal/Core/Plugin/Discovery/HookDiscovery.php @@ -37,7 +37,7 @@ */ public function getDefinition($plugin_id) { $plugins = $this->getDefinitions(); + return isset($plugins[$plugin_id]) ? $plugins[$plugin_id] : array(); - return isset($plugins[$plugin_id]) ? $plugins[$plugin_id] : NULL; } /** diff -u b/core/modules/field/lib/Drupal/field/Plugin/Type/Widget/WidgetPluginManager.php b/core/modules/field/lib/Drupal/field/Plugin/Type/Widget/WidgetPluginManager.php --- b/core/modules/field/lib/Drupal/field/Plugin/Type/Widget/WidgetPluginManager.php +++ b/core/modules/field/lib/Drupal/field/Plugin/Type/Widget/WidgetPluginManager.php @@ -45,6 +45,19 @@ } /** + * Overrides Drupal\Component\Plugin\PluginManagerBase::getDefinition(). + * + * @todo Remove when http://drupal.org/node/1778942 is fixed. + */ + public function getDefinition($plugin_id) { + $definition = $this->discovery->getDefinition($plugin_id); + if (!empty($definition)) { + $this->processDefinition($definition, $plugin_id); + return $definition;; + } + } + + /** * Overrides Drupal\Component\Plugin\PluginManagerBase::getInstance(). */ public function getInstance(array $options) {