2 writes to Solution
Microsoft.CodeAnalysis.Workspaces (2)
Workspace\ProjectSystem\SolutionChangeAccumulator.cs (2)
40Solution = newSolution; 97Solution = newSolution;
27 references to Solution
Microsoft.CodeAnalysis.Workspaces (27)
Workspace\ProjectSystem\ProjectSystemProject.BatchingDocumentCollection.cs (4)
439_documentTextLoaderChangedAction(solutionChanges.Solution, documentId, textLoader), 595newSolution: addDocuments(solutionChanges.Solution, documentsAddedInBatch), 612solutionChanges.UpdateSolutionForRemovedDocumentAction(removeDocuments(solutionChanges.Solution, documentsRemovedInBatch), 621solutionChanges.Solution.WithProjectDocumentsOrder(projectId, orderedDocumentsInBatch));
Workspace\ProjectSystem\ProjectSystemProject.cs (11)
240solutionChanges.UpdateSolutionForProjectAction(Id, updateSolution(solutionChanges.Solution)); 353solutionChanges.UpdateSolutionForProjectAction(Id, withNewValue(solutionChanges.Solution)); 600var projectBeforeMutations = solutionChanges.Solution.GetRequiredProject(Id); 703projectId, solutionChanges.Solution.RemoveProjectReference(projectId, projectReference)); 714projectId, solutionChanges.Solution.RemoveMetadataReference(projectId, metadataReference)); 729projectId, path, properties, projectUpdateState, solutionChanges.Solution, out var projectReference); 737var metadataReference = CreateMetadataReference_NoLock(path, properties, solutionChanges.Solution.Services); 747solutionChanges.Solution 763projectId, solutionChanges.Solution.AddProjectReferences(projectId, projectReferencesAddedInBatch)); 769projectId, solutionChanges.Solution.RemoveProjectReference(projectId, projectReference)); 785solutionChanges.Solution, projectId, projectUpdateState, analyzersRemovedInBatch, analyzersAddedInBatch);
Workspace\ProjectSystem\ProjectSystemProjectFactory.cs (9)
328return solutionChanges.Solution; 551foreach (var projectIdToRetarget in solutionChanges.Solution.ProjectIds) 553if (CanConvertMetadataReferenceToProjectReference(solutionChanges.Solution, projectIdToRetarget, referencedProjectId: projectIdToReference)) 557var projectState = solutionChanges.Solution.GetRequiredProjectState(projectIdToRetarget); 566var newSolution = solutionChanges.Solution 651foreach (var projectIdToRetarget in solutionChanges.Solution.ProjectIds) 671var newSolution = solutionChanges.Solution.RemoveProjectReference(projectIdToRetarget, convertedReference.ProjectReference) 879var initialSolution = solutionChanges.Solution; 894var newSolution = solutionChanges.Solution;
Workspace\ProjectSystem\SolutionChangeAccumulator.cs (3)
10/// A little helper type to hold onto the <see cref="Solution"/> being updated in a batch, which also 35if (Solution == newSolution) 92if (Solution == newSolution)