Skip to content

Commit 39a87aa

Browse files
committed
WIP service return type support
1 parent 5a7d06c commit 39a87aa

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

src/DependencyInjection/DrupalExtension.php

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
use Nette\DI\CompilerExtension;
66
use Nette\DI\Config\Helpers;
7+
use PHPStan\Drupal\ExtensionDiscovery;
78
use PHPStan\Rules\Classes\EnhancedRequireParentConstructCallRule;
89
use PHPStan\Rules\Classes\RequireParentConstructCallRule;
910

@@ -92,5 +93,22 @@ public function loadConfiguration(): void
9293
$definition->setFactory(EnhancedRequireParentConstructCallRule::class);
9394
}
9495
}
96+
97+
// Build the service definitions...
98+
$extensionDiscovery = new ExtensionDiscovery($this->drupalRoot);
99+
$extensionDiscovery->setProfileDirectories([]);
100+
$profiles = $extensionDiscovery->scan('profile');
101+
$profile_directories = array_map(function ($profile) {
102+
return $profile->getPath();
103+
}, $profiles);
104+
$extensionDiscovery->setProfileDirectories($profile_directories);
105+
106+
foreach ($extensionDiscovery->scan('module') as $extension) {
107+
$module_dir = $this->drupalRoot . '/' . $extension->getPath();
108+
$servicesFileName = $module_dir . '/' . $extension->getName() . '.services.yml';
109+
if (file_exists($servicesFileName)) {
110+
// @todo load and parse, push basic definitions into container parameters
111+
}
112+
}
95113
}
96114
}

0 commit comments

Comments
 (0)