55use PHPStan \DependencyInjection \AutowiredParameter ;
66use PHPStan \DependencyInjection \AutowiredService ;
77use PHPStan \DependencyInjection \Container ;
8+ use PHPStan \File \FileHelper ;
89use PHPStan \Internal \ComposerHelper ;
910use function array_filter ;
1011use function array_values ;
1112use function str_contains ;
12- use function strtr ;
1313
1414#[AutowiredService(as: StubFilesProvider::class)]
1515final class DefaultStubFilesProvider implements StubFilesProvider
@@ -27,6 +27,7 @@ final class DefaultStubFilesProvider implements StubFilesProvider
2727 */
2828public function __construct (
2929private Container $ container ,
30+ private FileHelper $ fileHelper ,
3031#[AutowiredParameter]
3132private array $ stubFiles ,
3233#[AutowiredParameter]
@@ -45,7 +46,7 @@ public function getStubFiles(): array
4546$ extensions = $ this ->container ->getServicesByTag (StubFilesExtension::EXTENSION_TAG );
4647foreach ($ extensions as $ extension ) {
4748foreach ($ extension ->getFiles () as $ extensionFile ) {
48- $ files [] = $ extensionFile ;
49+ $ files [] = $ this -> fileHelper -> normalizePath ( $ extensionFile) ;
4950}
5051}
5152
@@ -66,10 +67,10 @@ public function getProjectStubFiles(): array
6667}
6768
6869$ vendorDir = ComposerHelper::getVendorDirFromComposerConfig ($ composerAutoloaderProjectPath , $ composerConfig );
69- $ vendorDir = strtr ($ vendorDir, '\\' , ' / ' );
70+ $ vendorDir = $ this -> fileHelper -> normalizePath ($ vendorDir );
7071$ filteredStubFiles = array_filter (
7172$ filteredStubFiles ,
72- static fn (string $ file ): bool => !str_contains (strtr ( $ file, '\\' , ' / ' ) , $ vendorDir ),
73+ static fn (string $ file ): bool => !str_contains ($ file , $ vendorDir ),
7374);
7475}
7576
0 commit comments