public void Dispose() { Errors = null; SourceFileAnalysisResults = null; PackageAnalysisResults = null; PreportMetaReferences = null; MetaReferences = null; ProjectRules = null; ExternalReferences = null; ProjectCompatibilityResult = null; }
private ProjectCompatibilityResult GenerateCompatibilityResults(List <SourceFileAnalysisResult> sourceFileAnalysisResults, string projectPath, bool isPorted) { var projectCompatibilityResult = new ProjectCompatibilityResult() { IsPorted = isPorted, ProjectPath = projectPath }; sourceFileAnalysisResults.ForEach(SourceFileAnalysisResult => { SourceFileAnalysisResult.ApiAnalysisResults.ForEach(apiAnalysisResult => { var currentEntity = projectCompatibilityResult.CodeEntityCompatibilityResults.First(r => r.CodeEntityType == apiAnalysisResult.CodeEntityDetails.CodeEntityType); var hasAction = SourceFileAnalysisResult.RecommendedActions.Any(ra => ra.TextSpan.Equals(apiAnalysisResult.CodeEntityDetails.TextSpan)); if (hasAction) { currentEntity.Actions++; } var compatibility = apiAnalysisResult.CompatibilityResults?.FirstOrDefault().Value?.Compatibility; if (compatibility == Compatibility.COMPATIBLE) { currentEntity.Compatible++; } else if (compatibility == Compatibility.INCOMPATIBLE) { currentEntity.Incompatible++; } else if (compatibility == Compatibility.UNKNOWN) { currentEntity.Unknown++; } else if (compatibility == Compatibility.DEPRECATED) { currentEntity.Deprecated++; } else { currentEntity.Unknown++; } }); }); _logger.LogInformation($"{projectCompatibilityResult.ToString()}"); return(projectCompatibilityResult); }