protected virtual void OnReferenceAddedToProject(ProjectReferenceEventArgs e)
 {
     if (ReferenceAddedToProject != null) {
         ReferenceAddedToProject (this, e);
     }
 }
 protected virtual void OnReferenceRemovedFromProject(ProjectReferenceEventArgs e)
 {
     if (ReferenceRemovedFromProject != null) {
         ReferenceRemovedFromProject (this, e);
     }
 }
 internal void NotifyReferenceAddedToProject(object sender, ProjectReferenceEventArgs e)
 {
     OnReferenceAddedToProject (e);
 }
 internal void NotifyReferenceRemovedFromProject(object sender, ProjectReferenceEventArgs e)
 {
     OnReferenceRemovedFromProject (e);
 }
 void OnRemoveReference(object sender, ProjectReferenceEventArgs e)
 {
     ITreeBuilder tb = Context.GetTreeBuilder (e.Project);
     if (tb != null) {
         if (tb.FindChild (e.ProjectReference, true))
             tb.Remove ();
     }
 }
 void OnAddReference(object sender, ProjectReferenceEventArgs e)
 {
     ITreeBuilder tb = Context.GetTreeBuilder (e.Project.ProjectReferences);
     if (tb != null) tb.AddChild (e.ProjectReference);
 }
 void OnProjectReferencesChanged(object sender, ProjectReferenceEventArgs args)
 {
     ProjectCodeCompletionDatabase db = GetProjectDatabase (args.Project);
     if (db != null) {
         db.UpdateFromProject ();
         foreach (ReferenceEntry re in db.References)
         {
             // Make sure the db is loaded
             GetDatabase (re.Uri);
         }
     }
 }
 void OnReferenceRemovedFromProject(object sender, ProjectReferenceEventArgs e)
 {
     RebuildTests ();
 }
 void OnReferenceAddedToProject(object sender, ProjectReferenceEventArgs e)
 {
     RebuildTests ();
 }