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