Skip to content

Commit 952cf5e

Browse files
committed
Small tweak to RubberduckParserState design mode validation on events
1 parent ed15abf commit 952cf5e

File tree

2 files changed

+15
-22
lines changed

2 files changed

+15
-22
lines changed

Rubberduck.Parsing/VBA/RubberduckParserState.cs

Lines changed: 14 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ public sealed class RubberduckParserState : IDisposable, IDeclarationFinderProvi
6262

6363
public DeclarationFinder DeclarationFinder { get; private set; }
6464

65+
private readonly IVBE _vbe;
6566
private readonly IProjectsRepository _projectRepository;
6667
private readonly IHostApplication _hostApp;
6768
private readonly IDeclarationFinderFactory _declarationFinderFactory;
@@ -76,7 +77,13 @@ public RubberduckParserState(IVBE vbe, IProjectsRepository projectRepository, ID
7677
{
7778
throw new ArgumentNullException(nameof(declarationFinderFactory));
7879
}
80+
if (projectRepository == null)
81+
{
82+
throw new ArgumentException(nameof(projectRepository));
83+
}
7984

85+
86+
_vbe = vbe;
8087
_projectRepository = projectRepository;
8188
_declarationFinderFactory = declarationFinderFactory;
8289

@@ -86,7 +93,7 @@ public RubberduckParserState(IVBE vbe, IProjectsRepository projectRepository, ID
8693
States.Add((ParserState)value);
8794
}
8895

89-
_hostApp = vbe.HostApplication();
96+
_hostApp = _vbe.HostApplication();
9097
AddEventHandlers();
9198
IsEnabled = true;
9299
RefreshFinder(_hostApp);
@@ -128,7 +135,7 @@ private void RemoveEventHandlers()
128135

129136
private void Sinks_ProjectAdded(object sender, ProjectEventArgs e)
130137
{
131-
if (!e.Project.VBE.IsInDesignMode)
138+
if (!_vbe.IsInDesignMode)
132139
{
133140
return;
134141
}
@@ -139,7 +146,7 @@ private void Sinks_ProjectAdded(object sender, ProjectEventArgs e)
139146

140147
private void Sinks_ProjectRemoved(object sender, ProjectEventArgs e)
141148
{
142-
if (!e.Project.VBE.IsInDesignMode)
149+
if (!_vbe.IsInDesignMode)
143150
{
144151
return;
145152
}
@@ -150,12 +157,7 @@ private void Sinks_ProjectRemoved(object sender, ProjectEventArgs e)
150157

151158
private void Sinks_ProjectRenamed(object sender, ProjectRenamedEventArgs e)
152159
{
153-
if (!e.Project.VBE.IsInDesignMode)
154-
{
155-
return;
156-
}
157-
158-
if (!ThereAreDeclarations())
160+
if (!_vbe.IsInDesignMode || !ThereAreDeclarations())
159161
{
160162
return;
161163
}
@@ -167,9 +169,7 @@ private void Sinks_ProjectRenamed(object sender, ProjectRenamedEventArgs e)
167169

168170
private void Sinks_ComponentAdded(object sender, ComponentEventArgs e)
169171
{
170-
if (!e.Project.VBE.IsInDesignMode) { return; }
171-
172-
if (!ThereAreDeclarations())
172+
if (!_vbe.IsInDesignMode || !ThereAreDeclarations())
173173
{
174174
return;
175175
}
@@ -180,9 +180,7 @@ private void Sinks_ComponentAdded(object sender, ComponentEventArgs e)
180180

181181
private void Sinks_ComponentRemoved(object sender, ComponentEventArgs e)
182182
{
183-
if (!e.Project.VBE.IsInDesignMode) { return; }
184-
185-
if (!ThereAreDeclarations())
183+
if (!_vbe.IsInDesignMode || !ThereAreDeclarations())
186184
{
187185
return;
188186
}
@@ -193,12 +191,7 @@ private void Sinks_ComponentRemoved(object sender, ComponentEventArgs e)
193191

194192
private void Sinks_ComponentRenamed(object sender, ComponentRenamedEventArgs e)
195193
{
196-
if (!e.Project.VBE.IsInDesignMode)
197-
{
198-
return;
199-
}
200-
201-
if (!ThereAreDeclarations())
194+
if (!_vbe.IsInDesignMode || !ThereAreDeclarations())
202195
{
203196
return;
204197
}

Rubberduck.VBEEditor/ComManagement/ProjectsRepository.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ private void LoadComponents(IVBComponents componentsCollection)
6767
{
6868
foreach (var component in componentsCollection)
6969
{
70-
var qmn = new QualifiedModuleName(component);
70+
var qmn = component.QualifiedModuleName;
7171
_components.Add(qmn, component);
7272
_codeModules.Add(qmn, component.CodeModule);
7373
}

0 commit comments

Comments
 (0)