コード例 #1
0
 public AsyncWorkItemQueue(SolutionCrawlerProgressReporter progressReporter)
 {
     _gate             = new object();
     _semaphore        = new AsyncSemaphore(initialCount: 0);
     _cancellationMap  = new Dictionary <object, CancellationTokenSource>();
     _progressReporter = progressReporter;
 }
コード例 #2
0
                public AsyncWorkItemQueue(SolutionCrawlerProgressReporter progressReporter, Workspace workspace)
                {
                    _semaphore = new SemaphoreSlim(initialCount: 0);

                    _workspace        = workspace;
                    _progressReporter = progressReporter;
                }
コード例 #3
0
 public Registration(
     int correlationId,
     Workspace workspace,
     SolutionCrawlerProgressReporter progressReporter
     )
 {
     CorrelationId    = correlationId;
     Workspace        = workspace;
     ProgressReporter = progressReporter;
 }
コード例 #4
0
        public SolutionCrawlerRegistrationService(
            [ImportMany] IEnumerable <Lazy <IIncrementalAnalyzerProvider, IncrementalAnalyzerProviderMetadata> > analyzerProviders,
            [ImportMany] IEnumerable <Lazy <IAsynchronousOperationListener, FeatureMetadata> > asyncListeners)
        {
            _gate = new object();

            _analyzerProviders          = analyzerProviders.ToImmutableArray();
            _documentWorkCoordinatorMap = new Dictionary <Workspace, WorkCoordinator>(ReferenceEqualityComparer.Instance);
            _listener = new AggregateAsynchronousOperationListener(asyncListeners, FeatureAttribute.SolutionCrawler);

            _progressReporter = new SolutionCrawlerProgressReporter(_listener);
        }
コード例 #5
0
        public SolutionCrawlerRegistrationService(
            [ImportMany] IEnumerable <Lazy <IIncrementalAnalyzerProvider, IncrementalAnalyzerProviderMetadata> > analyzerProviders,
            IAsynchronousOperationListenerProvider listenerProvider)
        {
            _gate = new object();

            _analyzerProviders = analyzerProviders.GroupBy(kv => kv.Metadata.Name).ToImmutableDictionary(g => g.Key, g => g.ToImmutableArray());
            AssertAnalyzerProviders(_analyzerProviders);

            _documentWorkCoordinatorMap = new Dictionary <Workspace, WorkCoordinator>(ReferenceEqualityComparer.Instance);
            _listener = listenerProvider.GetListener(FeatureAttribute.SolutionCrawler);

            _progressReporter = new SolutionCrawlerProgressReporter();
        }
コード例 #6
0
 public ProgressStatusRAII(SolutionCrawlerProgressReporter owner)
 {
     _owner = owner;
     _owner.Evaluate();
 }
コード例 #7
0
 public AsyncDocumentWorkItemQueue(SolutionCrawlerProgressReporter progressReporter, Workspace workspace) :
     base(progressReporter, workspace)
 {
 }
 public AsyncDocumentWorkItemQueue(SolutionCrawlerProgressReporter progressReporter) :
     base(progressReporter)
 {
 }