Replace GetFiles in CompletionCompleters (#14329)

This commit is contained in:
xtqqczze 2021-08-06 00:35:38 +01:00 committed by GitHub
parent 01a4714b76
commit 58483e1366
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -81,8 +81,7 @@ namespace System.Management.Automation.Internal
string directoryToCheck = directoriesToCheck.Dequeue();
try
{
string[] subDirectories = Directory.GetDirectories(directoryToCheck, "*", options);
foreach (string toAdd in subDirectories)
foreach (string toAdd in Directory.EnumerateDirectories(directoryToCheck, "*", options))
{
if (firstSubDirs || !IsPossibleResourceDirectory(toAdd))
{
@ -94,8 +93,7 @@ namespace System.Management.Automation.Internal
catch (UnauthorizedAccessException) { }
firstSubDirs = false;
string[] files = Directory.GetFiles(directoryToCheck, "*", options);
foreach (string moduleFile in files)
foreach (string moduleFile in Directory.EnumerateFiles(directoryToCheck, "*", options))
{
foreach (string ext in ModuleIntrinsics.PSModuleExtensions)
{
@ -332,14 +330,14 @@ namespace System.Management.Automation.Internal
if (!string.IsNullOrWhiteSpace(moduleBase) && Directory.Exists(moduleBase))
{
var options = Utils.PathIsUnc(moduleBase) ? s_uncPathEnumerationOptions : s_defaultEnumerationOptions;
string[] subdirectories = Directory.GetDirectories(moduleBase, "*", options);
IEnumerable<string> subdirectories = Directory.EnumerateDirectories(moduleBase, "*", options);
ProcessPossibleVersionSubdirectories(subdirectories, versionFolders);
}
return versionFolders;
}
private static void ProcessPossibleVersionSubdirectories(string[] subdirectories, List<Version> versionFolders)
private static void ProcessPossibleVersionSubdirectories(IEnumerable<string> subdirectories, List<Version> versionFolders)
{
foreach (string subdir in subdirectories)
{