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(); }
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(); } }