public void RequestAnalysis(string path, string charset, IEnumerable <SonarLanguage> detectedLanguages)
        {
            IssueTagger tracker;

            if (!taggers.TryGetValue(path, out tracker))
            {
                return;
            }

            bool handled = false;

            foreach (var language in detectedLanguages)
            {
                switch (language)
                {
                case SonarLanguage.Javascript:
                    handled = true;
                    daemon.RequestAnalysis(path, charset, "js", null, this);
                    break;

                case SonarLanguage.CFamily:
                    handled = true;
                    CFamily.ProcessFile(daemon, this, logger, tracker.ProjectItem, path, charset);
                    break;

                default:
                    break;
                }
            }

            if (!handled)
            {
                logger.WriteLine($"Unsupported content type for {path}");
            }
        }
示例#2
0
        private void UnsafeRequestAnalysis(string path, string charset, IEnumerable <SonarLanguage> detectedLanguages, IIssueConsumer issueConsumer, ProjectItem projectItem)
        {
            bool handled = false;

            foreach (var language in detectedLanguages)
            {
                switch (language)
                {
                case SonarLanguage.Javascript:
                    handled = true;
                    daemon.RequestAnalysis(path, charset, "js", null, issueConsumer);
                    break;

                case SonarLanguage.CFamily:
                    handled = true;
                    CFamily.ProcessFile(daemon, issueConsumer, logger, projectItem, path, charset);
                    break;

                default:
                    break;
                }
            }

            if (!handled)
            {
                logger.WriteLine($"Unsupported content type for {path}");
            }
        }