1616use PHPStan \File \FileFinder ;
1717use PHPStan \File \FileHelper ;
1818use PHPStan \File \FileWriter ;
19+ use PHPStan \Internal \ArrayHelper ;
1920use PHPStan \Internal \ComposerHelper ;
2021use PHPStan \PhpDoc \StubFilesProvider ;
2122use PHPStan \Reflection \ReflectionProvider ;
2930use function array_unique ;
3031use function array_values ;
3132use function count ;
33+ use function explode ;
3234use function get_loaded_extensions ;
3335use function implode ;
3436use function is_array ;
@@ -65,6 +67,7 @@ final class ResultCacheManager
6567 * @param string[] $bootstrapFiles
6668 * @param string[] $scanFiles
6769 * @param string[] $scanDirectories
70+ * @param list<string> $parametersNotInvalidatingCache
6871 */
6972 public function __construct (
7073 private Container $ container ,
@@ -82,6 +85,7 @@ public function __construct(
8285 private array $ scanFiles ,
8386 private array $ scanDirectories ,
8487 private bool $ checkDependenciesOfProjectExtensionFiles ,
88+ private array $ parametersNotInvalidatingCache ,
8589 )
8690 {
8791 }
@@ -887,18 +891,9 @@ private function getMeta(array $allAnalysedFiles, ?array $projectConfigArray): a
887891 sort ($ extensions );
888892
889893 if ($ projectConfigArray !== null ) {
890- unset($ projectConfigArray ['parameters ' ]['editorUrl ' ]);
891- unset($ projectConfigArray ['parameters ' ]['editorUrlTitle ' ]);
892- unset($ projectConfigArray ['parameters ' ]['errorFormat ' ]);
893- unset($ projectConfigArray ['parameters ' ]['ignoreErrors ' ]);
894- unset($ projectConfigArray ['parameters ' ]['reportUnmatchedIgnoredErrors ' ]);
895- unset($ projectConfigArray ['parameters ' ]['tipsOfTheDay ' ]);
896- unset($ projectConfigArray ['parameters ' ]['parallel ' ]);
897- unset($ projectConfigArray ['parameters ' ]['internalErrorsCountLimit ' ]);
898- unset($ projectConfigArray ['parameters ' ]['cache ' ]);
899- unset($ projectConfigArray ['parameters ' ]['memoryLimitFile ' ]);
900- unset($ projectConfigArray ['parameters ' ]['pro ' ]);
901- unset($ projectConfigArray ['parametersSchema ' ]);
894+ foreach ($ this ->parametersNotInvalidatingCache as $ parameterPath ) {
895+ ArrayHelper::unsetKeyAtPath ($ projectConfigArray , explode ('. ' , $ parameterPath ));
896+ }
902897
903898 ksort ($ projectConfigArray );
904899 }
0 commit comments