rename methods
This commit is contained in:
@@ -58,14 +58,14 @@ public class RoslynAnalysis(ILogger<RoslynAnalysis> logger, BuildService buildSe
|
|||||||
|
|
||||||
public TaskCompletionSource _solutionLoadedTcs = null!;
|
public TaskCompletionSource _solutionLoadedTcs = null!;
|
||||||
private SharpIdeSolutionModel? _sharpIdeSolutionModel;
|
private SharpIdeSolutionModel? _sharpIdeSolutionModel;
|
||||||
public void StartSolutionAnalysis(SharpIdeSolutionModel solutionModel)
|
public void StartLoadingSolutionInWorkspace(SharpIdeSolutionModel solutionModel)
|
||||||
{
|
{
|
||||||
_solutionLoadedTcs = new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously);
|
_solutionLoadedTcs = new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously);
|
||||||
_ = Task.Run(async () =>
|
_ = Task.Run(async () =>
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
await Analyse(solutionModel);
|
await LoadSolutionInWorkspace(solutionModel);
|
||||||
await UpdateSolutionDiagnostics();
|
await UpdateSolutionDiagnostics();
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
@@ -74,9 +74,9 @@ public class RoslynAnalysis(ILogger<RoslynAnalysis> logger, BuildService buildSe
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
public async Task Analyse(SharpIdeSolutionModel solutionModel, CancellationToken cancellationToken = default)
|
public async Task LoadSolutionInWorkspace(SharpIdeSolutionModel solutionModel, CancellationToken cancellationToken = default)
|
||||||
{
|
{
|
||||||
using var _ = SharpIdeOtel.Source.StartActivity($"{nameof(RoslynAnalysis)}.{nameof(Analyse)}");
|
using var _ = SharpIdeOtel.Source.StartActivity($"{nameof(RoslynAnalysis)}.{nameof(LoadSolutionInWorkspace)}");
|
||||||
_logger.LogInformation("RoslynAnalysis: Loading solution {SolutionPath}", solutionModel.FilePath);
|
_logger.LogInformation("RoslynAnalysis: Loading solution {SolutionPath}", solutionModel.FilePath);
|
||||||
_sharpIdeSolutionModel = solutionModel;
|
_sharpIdeSolutionModel = solutionModel;
|
||||||
var timer = Stopwatch.StartNew();
|
var timer = Stopwatch.StartNew();
|
||||||
@@ -148,30 +148,6 @@ public class RoslynAnalysis(ILogger<RoslynAnalysis> logger, BuildService buildSe
|
|||||||
// var refactoringProviders = CodeRefactoringProviderLoader.LoadCodeRefactoringProviders(assemblies, language);
|
// var refactoringProviders = CodeRefactoringProviderLoader.LoadCodeRefactoringProviders(assemblies, language);
|
||||||
// _codeRefactoringProviders.AddRange(refactoringProviders);
|
// _codeRefactoringProviders.AddRange(refactoringProviders);
|
||||||
// }
|
// }
|
||||||
|
|
||||||
// foreach (var project in solution.Projects)
|
|
||||||
// {
|
|
||||||
// // foreach (var document in project.Documents)
|
|
||||||
// // {
|
|
||||||
// // var semanticModel = await document.GetSemanticModelAsync();
|
|
||||||
// // Guard.Against.Null(semanticModel, nameof(semanticModel));
|
|
||||||
// // var documentDiagnostics = semanticModel.GetDiagnostics().Where(d => d.Severity is not DiagnosticSeverity.Hidden).ToList();
|
|
||||||
// // foreach (var diagnostic in documentDiagnostics)
|
|
||||||
// // {
|
|
||||||
// // var test = await GetCodeFixesAsync(document, diagnostic);
|
|
||||||
// // }
|
|
||||||
// // // var syntaxTree = await document.GetSyntaxTreeAsync();
|
|
||||||
// // // var root = await syntaxTree!.GetRootAsync();
|
|
||||||
// // // var classifiedSpans = await Classifier.GetClassifiedSpansAsync(document, root.FullSpan);
|
|
||||||
// // // foreach (var span in classifiedSpans)
|
|
||||||
// // // {
|
|
||||||
// // // var classifiedSpan = root.GetText().GetSubText(span.TextSpan);
|
|
||||||
// // // Console.WriteLine($"{span.TextSpan}: {span.ClassificationType}");
|
|
||||||
// // // Console.WriteLine(classifiedSpan);
|
|
||||||
// // // }
|
|
||||||
// // }
|
|
||||||
// }
|
|
||||||
_logger.LogInformation("RoslynAnalysis: Analysis completed");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Callers should call UpdateSolutionDiagnostics after this
|
/// Callers should call UpdateSolutionDiagnostics after this
|
||||||
|
|||||||
@@ -159,7 +159,7 @@ public partial class IdeRoot : Control
|
|||||||
_fileChangedService.SolutionModel = solutionModel;
|
_fileChangedService.SolutionModel = solutionModel;
|
||||||
_sharpIdeSolutionModificationService.SolutionModel = solutionModel;
|
_sharpIdeSolutionModificationService.SolutionModel = solutionModel;
|
||||||
Callable.From(_solutionExplorerPanel.BindToSolution).CallDeferred();
|
Callable.From(_solutionExplorerPanel.BindToSolution).CallDeferred();
|
||||||
_roslynAnalysis.StartSolutionAnalysis(solutionModel);
|
_roslynAnalysis.StartLoadingSolutionInWorkspace(solutionModel);
|
||||||
_fileWatcher.StartWatching(solutionModel);
|
_fileWatcher.StartWatching(solutionModel);
|
||||||
|
|
||||||
var previousTabs = Singletons.AppState.RecentSlns.Single(s => s.FilePath == solutionModel.FilePath).IdeSolutionState.OpenTabs;
|
var previousTabs = Singletons.AppState.RecentSlns.Single(s => s.FilePath == solutionModel.FilePath).IdeSolutionState.OpenTabs;
|
||||||
|
|||||||
@@ -185,7 +185,7 @@
|
|||||||
|
|
||||||
var solutionModel = await VsPersistenceMapper.GetSolutionModel(_solutionFilePath);
|
var solutionModel = await VsPersistenceMapper.GetSolutionModel(_solutionFilePath);
|
||||||
_solutionModel = solutionModel;
|
_solutionModel = solutionModel;
|
||||||
RoslynAnalysis.StartSolutionAnalysis(solutionModel);
|
RoslynAnalysis.StartLoadingSolutionInWorkspace(solutionModel);
|
||||||
}
|
}
|
||||||
|
|
||||||
private CancellationTokenSource? _cancellationTokenSource = null!;
|
private CancellationTokenSource? _cancellationTokenSource = null!;
|
||||||
|
|||||||
@@ -36,10 +36,10 @@ public class RoslynAnalysisTests
|
|||||||
var sharpIdeApplicationProject = solutionModel.AllProjects.Single(p => p.Name == "SharpIDE.Application");
|
var sharpIdeApplicationProject = solutionModel.AllProjects.Single(p => p.Name == "SharpIDE.Application");
|
||||||
|
|
||||||
roslynAnalysis._solutionLoadedTcs = new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously);
|
roslynAnalysis._solutionLoadedTcs = new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously);
|
||||||
await roslynAnalysis.Analyse(solutionModel, TestContext.Current.CancellationToken);
|
await roslynAnalysis.LoadSolutionInWorkspace(solutionModel, TestContext.Current.CancellationToken);
|
||||||
|
|
||||||
// Act
|
// Act
|
||||||
foreach (var i in Enumerable.Range(1, 3))
|
foreach (var i in Enumerable.Range(0, 3))
|
||||||
{
|
{
|
||||||
var timer = Stopwatch.StartNew();
|
var timer = Stopwatch.StartNew();
|
||||||
await roslynAnalysis.GetProjectDiagnostics(sharpIdeApplicationProject, TestContext.Current.CancellationToken);
|
await roslynAnalysis.GetProjectDiagnostics(sharpIdeApplicationProject, TestContext.Current.CancellationToken);
|
||||||
|
|||||||
Reference in New Issue
Block a user