function ElementInfoManager::getDiscovery

Overrides DefaultPluginManager::getDiscovery

File

core/lib/Drupal/Core/Render/ElementInfoManager.php, line 82

Class

ElementInfoManager
Provides a plugin manager for element plugins.

Namespace

Drupal\Core\Render

Code

protected function getDiscovery() : DiscoveryInterface {
  $discovery = parent::getDiscovery();
  return new class ($discovery, $this->reverseMapping) implements DiscoveryInterface {
    use DiscoveryTrait;
    public function __construct(protected DiscoveryInterface $decorated, protected array &$reverseMapping) {
    }
    public function getDefinitions() : array {
      $definitions = $this->decorated
        ->getDefinitions();
      foreach ($definitions as $element_type => $definition) {
        $this->reverseMapping[$definition['class']] = $element_type;
      }
      return $definitions;
    }

};
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.