using System.Collections.Generic; using System.Runtime.CompilerServices; using System.Threading; using System.Threading.Tasks; using Codelyzer.Analysis; using Codelyzer.Analysis.Model; using CTA.Rules.Models; using PortingAssistant.Client.Model; namespace PortingAssistant.Client.Analysis { public interface IPortingAssistantAnalysisHandler { Task> AnalyzeSolution(string solutionFilename, List projects, string targetFramework = "net6.0", AnalyzerSettings settings = null); Task> AnalyzeFileIncremental(string filePath, string projectFile, string solutionFileName, List preportReferences , List currentReferences, RootNodes rules, ExternalReferences externalReferences, bool actionsOnly, bool compatibleOnly, string targetFramework = "net6.0"); Task> AnalyzeFileIncremental(string filePath, string fileContent, string projectFile, string solutionFileName, List preportReferences , List currentReferences, RootNodes rules, ExternalReferences externalReferences, bool actionsOnly, bool compatibleOnly, string targetFramework = "net6.0"); Task> AnalyzeSolutionIncremental(string solutionFilename, List projects, string targetFramework = "net6.0", AnalyzerSettings settings = null); IAsyncEnumerable AnalyzeSolutionGeneratorAsync(string solutionFilename, List projects, string targetFramework = "net6.0", [EnumeratorCancellation] CancellationToken ct = default); } }