getDefinitions() as $service_id => $definition) { if ($definition->isLazy()) { $proxy_class = ProxyBuilder::buildProxyClassName($definition->getClass()); if (class_exists($proxy_class)) { // Copy the existing definition to a new entry. $definition->setLazy(FALSE); // Ensure that the service is accessible. $definition->setPublic(TRUE); $new_service_id = 'drupal.proxy_original_service.' . $service_id; $container->setDefinition($new_service_id, $definition); $container->register($service_id, $proxy_class) ->setArguments([new Reference('service_container'), $new_service_id]); } else { $class_name = $definition->getClass(); // Find the root namespace. $match = []; preg_match('/([a-zA-Z0-9_]+\\\\[a-zA-Z0-9_]+)\\\\(.+)/', $class_name, $match); $root_namespace = $match[1]; // Find the root namespace path. $root_namespace_dir = '[namespace_root_path]'; $namespaces = $container->getParameter('container.namespaces'); // Hardcode Drupal Core, because it is not registered. $namespaces['Drupal\Core'] = 'core/lib/Drupal/Core'; if (isset($namespaces[$root_namespace])) { $root_namespace_dir = $namespaces[$root_namespace]; } $message = <<