Exemplo n.º 1
0
        internal TextBufferIssueTracker(DTE dte, TaggerProvider provider, ITextDocument document,
                                        IEnumerable <AnalysisLanguage> detectedLanguages, IIssueConverter issueConverter, ILogger logger, IIssuesFilter issuesFilter)
        {
            this.dte = dte;

            this.Provider        = provider;
            this.textBuffer      = document.TextBuffer;
            this.currentSnapshot = document.TextBuffer.CurrentSnapshot;

            this.detectedLanguages = detectedLanguages;
            this.issueConverter    = issueConverter;
            this.logger            = logger;
            this.issuesFilter      = issuesFilter;

            this.document = document;
            this.FilePath = document.FilePath;

            this.ProjectItem = dte.Solution.FindProjectItem(this.FilePath);
            this.charset     = document.Encoding.WebName;

            // Bug #676: https://github.com/SonarSource/sonarlint-visualstudio/issues/676
            // It's possible to have a ProjectItem that doesn't have a ContainingProject
            // e.g. files under the "External Dependencies" project folder in the Solution Explorer
            var projectName = this.ProjectItem?.ContainingProject.Name ?? "{none}";

            this.Factory = new SnapshotFactory(new IssuesSnapshot(projectName, this.FilePath, 0,
                                                                  new List <IssueMarker>()));

            document.FileActionOccurred += SafeOnFileActionOccurred;
        }
        public SonarLintQuickInfoSource(SonarLintQuickInfoSourceProvider provider, ITextBuffer subjectBuffer,
                                        string filePath, IIssueConverter issueConverter)
        {
            if (provider == null)
            {
                throw new ArgumentNullException(nameof(provider));
            }
            if (subjectBuffer == null)
            {
                throw new ArgumentNullException(nameof(subjectBuffer));
            }
            if (filePath == null)
            {
                throw new ArgumentNullException(nameof(filePath));
            }
            if (issueConverter == null)
            {
                throw new ArgumentNullException(nameof(issueConverter));
            }

            this.provider       = provider;
            this.subjectBuffer  = subjectBuffer;
            this.filePath       = filePath;
            this.issueConverter = issueConverter;
        }
        internal IssueTagger(DTE dte, TaggerProvider provider, ITextBuffer buffer, ITextDocument document,
                             IEnumerable <SonarLanguage> detectedLanguages, IIssueConverter issueConverter)
        {
            this.dte               = dte;
            this.provider          = provider;
            this.textBuffer        = buffer;
            this.detectedLanguages = detectedLanguages;
            this.issueConverter    = issueConverter;
            this.currentSnapshot   = buffer.CurrentSnapshot;
            this.dirtySpans        = new NormalizedSnapshotSpanCollection();

            this.document    = document;
            this.FilePath    = document.FilePath;
            this.ProjectItem = dte.Solution.FindProjectItem(this.FilePath);
            this.Charset     = document.Encoding.WebName;
            this.Factory     = new SnapshotFactory(new IssuesSnapshot(this.ProjectItem.ContainingProject.Name, this.FilePath, 0,
                                                                      new List <IssueMarker>()));

            this.Initialize();
        }
Exemplo n.º 4
0
 public JiraToGitHubService(ILogger <JiraToGitHubService> logger, IOptions <AppConfig> appConfig, IIssueConverter issueConverter)
 {
     Logger         = logger;
     Config         = appConfig.Value;
     IssueConverter = issueConverter;
 }