getIndexer('function') ->get($this->pluginDefinition['hook']) ->setDocComment($this->buildFixMe(NULL, [], self::DOC_COMMENT)); $render = [ '#theme' => 'dmu_route_subscriber', '#module' => $target->id(), ]; $this->writeClass($target, $this->parse($render)); $alterable = ParameterNode::create('data'); $alterable->setTypeHint('array')->setReference(TRUE); $parameter = clone $alterable; $this ->implement($target, 'menu_links_discovered_alter') ->appendParameter($parameter->setName('links')); $parameter = clone $alterable; $this ->implement($target, 'menu_local_tasks_alter') ->appendParameter($parameter->setName('data')) ->appendParameter(ParameterNode::create('route_name')); $parameter = clone $alterable; $this ->implement($target, 'menu_local_actions_alter') ->appendParameter($parameter->setName('local_actions')); $parameter = clone $alterable; $items = clone $alterable; $function = $this ->implement($target, 'contextual_links_view_alter') ->appendParameter($parameter->setName('element')) ->appendParameter($items->setName('items')->setReference(FALSE)); $target->save($function); } }