Rubberduck.Parsing.VBA.RubberduckParser.UnloadComReference C# (CSharp) Method

UnloadComReference() private method

private UnloadComReference ( System.Reference reference ) : void
reference System.Reference
return void
        private void UnloadComReference(Reference reference)
        {
            var referencedProjectId = QualifiedModuleName.GetProjectId(reference);
            var map = _references.SingleOrDefault(r => r.ReferencedProjectId == referencedProjectId);
            if (map == null || !map.IsLoaded)
            {
                // we're removing a reference we weren't tracking? ...this shouldn't happen.
                Debug.Assert(false);
                return;
            }
            map.Remove(referencedProjectId);
            if (!map.Any())
            {
                _references.Remove(map);
                _state.RemoveBuiltInDeclarations(reference);
            }
        }