make list hashset

This commit is contained in:
Matt Parker
2025-08-07 23:57:40 +10:00
parent 1243592fd3
commit 85d8a129a2
2 changed files with 5 additions and 4 deletions

View File

@@ -10,7 +10,7 @@ public class SharpIdeSolutionModel : ISharpIdeNode
public required string FilePath { get; set; }
public required List<SharpIdeProjectModel> Projects { get; set; }
public required List<SharpIdeSolutionFolder> Folders { get; set; }
public required List<SharpIdeProjectModel> AllProjects { get; set; }
public required HashSet<SharpIdeProjectModel> AllProjects { get; set; }
}
public class SharpIdeSolutionFolder : ISharpIdeNode
{
@@ -27,6 +27,7 @@ public class SharpIdeProjectModel : ISharpIdeNode
public required List<SharpIdeFolder> Folders { get; set; }
public required List<SharpIdeFile> Files { get; set; }
public bool Expanded { get; set; }
public bool Running { get; set; }
public required Task<Project> MsBuildEvaluationProjectTask { get; set; }
public Project MsBuildEvaluationProject => MsBuildEvaluationProjectTask.IsCompletedSuccessfully

View File

@@ -12,7 +12,7 @@ public static class VsPersistenceMapper
var intermediateModel = await IntermediateMapper.GetIntermediateModel(solutionFilePath, cancellationToken);
var solutionName = Path.GetFileName(solutionFilePath);
var allProjects = new List<SharpIdeProjectModel>();
var allProjects = new HashSet<SharpIdeProjectModel>();
var solutionModel = new SharpIdeSolutionModel
{
Name = solutionName,
@@ -33,7 +33,7 @@ public static class VsPersistenceMapper
return solutionModel;
}
private static SharpIdeProjectModel GetSharpIdeProjectModel(IntermediateProjectModel projectModel, List<SharpIdeProjectModel> allProjects)
private static SharpIdeProjectModel GetSharpIdeProjectModel(IntermediateProjectModel projectModel, HashSet<SharpIdeProjectModel> allProjects)
{
var project = new SharpIdeProjectModel
{
@@ -47,7 +47,7 @@ public static class VsPersistenceMapper
return project;
}
private static SharpIdeSolutionFolder GetSharpIdeSolutionFolder(IntermediateSlnFolderModel folderModel, List<SharpIdeProjectModel> allProjects) => new SharpIdeSolutionFolder()
private static SharpIdeSolutionFolder GetSharpIdeSolutionFolder(IntermediateSlnFolderModel folderModel, HashSet<SharpIdeProjectModel> allProjects) => new SharpIdeSolutionFolder()
{
Name = folderModel.Model.Name,
Files = folderModel.Files.Select(GetSharpIdeFile).ToList(),