Skip to content

Commit 46ff44b

Browse files
committed
Separate GetModuleState and GetOrCreateModuleState
1 parent 902be51 commit 46ff44b

File tree

2 files changed

+12
-10
lines changed

2 files changed

+12
-10
lines changed

RetailCoder.VBE/UI/CodeExplorer/Commands/CodeExplorer_RefreshComponentCommand.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ public override bool CanExecute(object parameter)
1818
var node = parameter as CodeExplorerComponentViewModel;
1919

2020
return node != null && node.QualifiedSelection.HasValue &&
21-
_state.GetModuleState(node.QualifiedSelection.Value.QualifiedName.Component) == ParserState.Pending;
21+
_state.GetOrCreateModuleState(node.QualifiedSelection.Value.QualifiedName.Component) == ParserState.Pending;
2222
}
2323

2424
public override void Execute(object parameter)

Rubberduck.Parsing/VBA/RubberduckParserState.cs

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -267,28 +267,30 @@ private ParserState EvaluateParserState()
267267
return result;
268268
}
269269

270-
public ParserState GetModuleState(VBComponent component)
270+
public ParserState GetOrCreateModuleState(VBComponent component)
271271
{
272272
var key = new QualifiedModuleName(component);
273-
274-
var isDirty = IsNewOrModified(key);
275273
var state = _moduleStates.GetOrAdd(key, ParserState.Pending);
276-
277-
if (!isDirty)
278-
{
279-
return state;
280-
}
281274

282275
if (state == ParserState.Pending)
283276
{
284277
return state; // we are slated for a reparse already
285278
}
286279

287-
_moduleStates.TryUpdate(key, ParserState.Pending, state);
280+
if (!IsNewOrModified(key))
281+
{
282+
return state;
283+
}
288284

285+
_moduleStates.TryUpdate(key, ParserState.Pending, state);
289286
return ParserState.Pending;
290287
}
291288

289+
public ParserState GetModuleState(VBComponent component)
290+
{
291+
return _moduleStates.GetOrAdd(new QualifiedModuleName(component), ParserState.Pending);
292+
}
293+
292294
private ParserState _status;
293295
public ParserState Status
294296
{

0 commit comments

Comments
 (0)