Skip to content

Commit 78e4140

Browse files
committed
Clean up superfluous event code in parser state.
1 parent dc8d33f commit 78e4140

File tree

1 file changed

+11
-29
lines changed

1 file changed

+11
-29
lines changed

Rubberduck.Parsing/VBA/RubberduckParserState.cs

Lines changed: 11 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ internal void RefreshFinder(IHostApplication host)
7272
DeclarationFinder = new DeclarationFinder(AllDeclarations, AllAnnotations, host);
7373
}
7474

75-
private IVBE _vbe;
75+
private readonly IVBE _vbe;
7676
public RubberduckParserState(IVBE vbe)
7777
{
7878
var values = Enum.GetValues(typeof(ParserState));
@@ -82,32 +82,27 @@ public RubberduckParserState(IVBE vbe)
8282
}
8383

8484
_vbe = vbe;
85-
86-
if (_vbe != null && _vbe.VBProjects != null)
87-
{
88-
VBProjects.ProjectAdded += Sinks_ProjectAdded;
89-
VBProjects.ProjectRemoved += Sinks_ProjectRemoved;
90-
VBProjects.ProjectRenamed += Sinks_ProjectRenamed;
91-
foreach (var project in _vbe.VBProjects.Where(proj => proj.VBComponents != null))
92-
{
93-
AddComponentEventHandlers(project);
94-
}
95-
}
96-
85+
AddEventHandlers();
9786
IsEnabled = true;
9887
}
9988

10089
#region Event Handling
10190

102-
private void AddComponentEventHandlers(IVBProject project)
91+
private void AddEventHandlers()
10392
{
93+
VBProjects.ProjectAdded += Sinks_ProjectAdded;
94+
VBProjects.ProjectRemoved += Sinks_ProjectRemoved;
95+
VBProjects.ProjectRenamed += Sinks_ProjectRenamed;
10496
VBComponents.ComponentAdded += Sinks_ComponentAdded;
10597
VBComponents.ComponentRemoved += Sinks_ComponentRemoved;
10698
VBComponents.ComponentRenamed += Sinks_ComponentRenamed;
10799
}
108100

109-
private void RemoveComponentEventHandlers(IVBProject project)
101+
private void RemoveEventHandlers()
110102
{
103+
VBProjects.ProjectAdded += Sinks_ProjectAdded;
104+
VBProjects.ProjectRemoved += Sinks_ProjectRemoved;
105+
VBProjects.ProjectRenamed += Sinks_ProjectRenamed;
111106
VBComponents.ComponentAdded -= Sinks_ComponentAdded;
112107
VBComponents.ComponentRemoved -= Sinks_ComponentRemoved;
113108
VBComponents.ComponentRenamed -= Sinks_ComponentRenamed;
@@ -118,8 +113,6 @@ private void Sinks_ProjectAdded(object sender, ProjectEventArgs e)
118113
if (!e.Project.VBE.IsInDesignMode) { return; }
119114

120115
Logger.Debug("Project '{0}' was added.", e.ProjectId);
121-
AddComponentEventHandlers(e.Project);
122-
123116
RefreshProjects(_vbe); // note side-effect: assigns ProjectId/HelpFile
124117
OnParseRequested(sender);
125118
}
@@ -129,8 +122,6 @@ private void Sinks_ProjectRemoved(object sender, ProjectEventArgs e)
129122
if (!e.Project.VBE.IsInDesignMode) { return; }
130123

131124
Debug.Assert(e.ProjectId != null);
132-
RemoveComponentEventHandlers(e.Project);
133-
134125
RemoveProject(e.ProjectId, true);
135126
OnParseRequested(sender);
136127
}
@@ -1110,16 +1101,7 @@ public void Dispose()
11101101
CoClasses.Clear();
11111102
}
11121103

1113-
if (_vbe != null && _vbe.VBProjects != null)
1114-
{
1115-
VBProjects.ProjectAdded -= Sinks_ProjectAdded;
1116-
VBProjects.ProjectRemoved -= Sinks_ProjectRemoved;
1117-
VBProjects.ProjectRenamed -= Sinks_ProjectRenamed;
1118-
foreach (var project in _vbe.VBProjects.Where(proj => proj.VBComponents != null))
1119-
{
1120-
RemoveComponentEventHandlers(project);
1121-
}
1122-
}
1104+
RemoveEventHandlers();
11231105

11241106
_moduleStates.Clear();
11251107
_declarationSelections.Clear();

0 commit comments

Comments
 (0)