Example #1
0
        internal void OnTaggerAdded(AsynchronousTagger <TTag> tagger)
        {
            // this should be only called from UI thread.
            // in unit test, must be called from same thread as OnTaggerDisposed
            Contract.ThrowIfTrue(_disposed);
            Contract.ThrowIfFalse(_taggers >= 0);

            _taggers++;

            DebugRecordCurrentThread();
        }
Example #2
0
        internal void OnTaggerDisposed(AsynchronousTagger <TTag> tagger)
        {
            // this should be only called from UI thread.
            // in unit test, must be called from same thead as OnTaggerAdded
            Contract.ThrowIfFalse(_taggers > 0);

            _taggers--;

            if (_taggers == 0)
            {
                this.Dispose();

                DebugVerifyThread();
            }
        }