コード例 #1
0
        public int AddNewErrors(IVsEnumExternalErrors pErrors)
        {
            var projectErrors = new HashSet<DiagnosticData>();
            var documentErrorsMap = new Dictionary<DocumentId, HashSet<DiagnosticData>>();

            var errors = new ExternalError[1];
            uint fetched;
            while (pErrors.Next(1, errors, out fetched) == VSConstants.S_OK && fetched == 1)
            {
                var error = errors[0];

                DiagnosticData diagnostic;
                if (error.bstrFileName != null)
                {
                    diagnostic = CreateDocumentDiagnosticItem(error);
                    if (diagnostic != null)
                    {
                        var diagnostics = documentErrorsMap.GetOrAdd(diagnostic.DocumentId, _ => new HashSet<DiagnosticData>());
                        diagnostics.Add(diagnostic);
                        continue;
                    }

                    projectErrors.Add(CreateProjectDiagnosticItem(error));
                }
                else
                {
                    projectErrors.Add(CreateProjectDiagnosticItem(error));
                }
            }

            _diagnosticProvider.AddNewErrors(_projectId, projectErrors, documentErrorsMap);
            return VSConstants.S_OK;
        }
コード例 #2
0
        int IVsReportExternalErrors.AddNewErrors(IVsEnumExternalErrors pErrors)
        {
            if (ExternalErrorReporter != null)
            {
                return ExternalErrorReporter.AddNewErrors(pErrors);
            }

            return VSConstants.E_NOTIMPL;
        }
コード例 #3
0
        int IVsReportExternalErrors.GetErrors(out IVsEnumExternalErrors pErrors)
        {
            pErrors = null;
            if (ExternalErrorReporter != null)
            {
                return ExternalErrorReporter.GetErrors(out pErrors);
            }

            return VSConstants.E_NOTIMPL;
        }
コード例 #4
0
 public int GetErrors(out IVsEnumExternalErrors pErrors)
 {
     pErrors = null;
     Debug.Fail("This is not implemented, because no one called it.");
     return VSConstants.E_NOTIMPL;
 }
コード例 #5
0
 public int GetErrors(out IVsEnumExternalErrors pErrors)
 {
     pErrors = null;
     Debug.Fail("This is not implemented, because no one called it.");
     return(VSConstants.E_NOTIMPL);
 }
コード例 #6
0
 public int AddNewErrors(IVsEnumExternalErrors pErrors) =>
 GetExternalErrorReporter().AddNewErrors(pErrors);
コード例 #7
0
 public int GetErrors(out IVsEnumExternalErrors pErrors)
 {
     return(_externalErrorReporterOpt.GetErrors(out pErrors));
 }
コード例 #8
0
 public int GetErrors(out IVsEnumExternalErrors pErrors)
 => GetExternalErrorReporter().GetErrors(out pErrors);
コード例 #9
0
 public int AddNewErrors(IVsEnumExternalErrors pErrors)
 {
     return(_externalErrorReporterOpt.AddNewErrors(pErrors));
 }
コード例 #10
0
 int IVsReportExternalErrors.GetErrors(out IVsEnumExternalErrors pErrors) =>
 _externalErrorReporter.GetErrors(out pErrors);
コード例 #11
0
 int IVsReportExternalErrors.AddNewErrors(IVsEnumExternalErrors pErrors) =>
 _externalErrorReporter.AddNewErrors(pErrors);
 int IVsReportExternalErrors.GetErrors(out IVsEnumExternalErrors pErrors)
 {
     return(_externalErrorReporter.GetErrors(out pErrors));
 }
 int IVsReportExternalErrors.AddNewErrors(IVsEnumExternalErrors pErrors)
 {
     return(_externalErrorReporter.AddNewErrors(pErrors));
 }