private static Docs?ParseDocs(GeneratorExecutionContext context) { Docs?docs = null; if (context.AnalyzerConfigOptions.GlobalOptions.TryGetValue("build_property.CsWin32InputDocPaths", out string?delimitedApiDocsPaths) && !string.IsNullOrWhiteSpace(delimitedApiDocsPaths)) { string[] apiDocsPaths = delimitedApiDocsPaths !.Split('|'); if (apiDocsPaths.Length > 0) { List <Docs> docsList = new(apiDocsPaths.Length); foreach (string path in apiDocsPaths) { try { docsList.Add(Docs.Get(path)); } catch (Exception e) { context.ReportDiagnostic(Diagnostic.Create(DocParsingError, null, path, e.Message)); } } docs = Docs.Merge(docsList); } } return(docs); }