コード例 #1
0
        private void Dispose(bool disposing)
        {
            lock (this)
            {
                if (!m_disposed)
                {
                    if (disposing)
                    {
                        if (_errorProvider != null)
                        {
                            try
                            {
                                _errorProvider.Tasks.Clear();
                            }
                            catch (InvalidOperationException)
                            {
                                // this may occur if the SVsServiceProvider somehow has been uninstalled before our Dispose method is called
                            }
                            _errorProvider.Dispose();
                            _errorProvider = null;
                        }
                        BufferIdleEventUtil.RemoveBufferIdleEventListener(_buffer, ResolveBuffer);
                        if (_document != null && _document.TextBuffer != null)
                        {
                            ResolverTaggers.Remove(_document.TextBuffer);
                        }
                    }

                    m_disposed = true;
                }
            }
        }
コード例 #2
0
ファイル: ResolverTagger.cs プロジェクト: ggrov/tacny
        internal ResolverTagger(ITextBuffer buffer, IServiceProvider serviceProvider, ITextDocumentFactoryService textDocumentFactory)
        {
            _buffer = buffer;
            if (!textDocumentFactory.TryGetTextDocument(_buffer, out _document))
            {
                _document = null;
            }
            Snapshot       = null; // this makes sure the next snapshot will look different
            _errorProvider = new ErrorListProvider(serviceProvider);

            BufferIdleEventUtil.AddBufferIdleEventListener(_buffer, ResolveBuffer);
        }
コード例 #3
0
ファイル: ResolverTagger.cs プロジェクト: ggrov/tacny
        internal ResolverTagger(ITextBuffer buffer, IServiceProvider serviceProvider, ITextDocumentFactoryService textDocumentFactory)
        {
            _buffer = buffer;
            if (!textDocumentFactory.TryGetTextDocument(_buffer, out _document))
            {
                _document = null;
            }
            Snapshot       = null; // this makes sure the next snapshot will look different
            _errorProvider = new ErrorListProvider(serviceProvider);

            _filename = _document != null ? _document.FilePath : "<program>";
            BufferIdleEventUtil.AddBufferIdleEventListener(_buffer, ResolveBuffer);
            this.RunResolver = true;
        }