Skip to content

Commit 4c7a658

Browse files
committed
Updated for new name collision detection design
1 parent cd23ec2 commit 4c7a658

File tree

1 file changed

+3
-57
lines changed

1 file changed

+3
-57
lines changed

Rubberduck.Refactorings/Rename/RenameRefactoring.cs

Lines changed: 3 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -244,74 +244,20 @@ private bool TrySetNewName(IRenamePresenter presenter)
244244
var result = presenter.Show(_model.Target);
245245
if (result == null) { return false; }
246246

247-
var conflicts = _state.DeclarationFinder.NewDeclarationNameConflictsWithExisting(_model.NewName, _model.Target);
248-
//bool hasConflict = false;
249-
250-
//var nameCollisions = _state.DeclarationFinder.MatchName(_model.NewName);
251-
//if (_model.Target.DeclarationType == DeclarationType.EnumerationMember
252-
// || _model.Target.DeclarationType == DeclarationType.UserDefinedTypeMember)
253-
//{
254-
// nameCollisions = nameCollisions
255-
// .Where(nc => nc.ParentDeclaration == _model.Target.ParentDeclaration);
256-
//}
257-
//else
258-
//{
259-
// nameCollisions = _state.DeclarationFinder.MatchName(_model.NewName)
260-
// .Where(nc => nc.DeclarationType != DeclarationType.EnumerationMember
261-
// && nc.DeclarationType != DeclarationType.UserDefinedTypeMember);
262-
//}
263-
264-
//if (nameCollisions.Any())
265-
//{
266-
// foreach (var conflictDec in nameCollisions)
267-
// {
268-
// var accessible = _state.DeclarationFinder.GetAccessibleUserDeclarations(_model.Target);
269-
// if (accessible.Contains(conflictDec))
270-
// {
271-
// hasConflict = true;
272-
// }
273-
// else if (IsSubroutineOrProperty(_model.Target))
274-
// {
275-
// hasConflict = conflictDec.ParentDeclaration == _model.Target;
276-
// }
277-
// }
278-
//}
247+
var conflicts = _state.DeclarationFinder.FindNewDeclarationNameConflicts(_model.NewName, _model.Target);
279248

280249
if (conflicts.Any())
281250
{
251+
//TODO: Fix this message? - takes same name parameter twice
282252
var message = string.Format(RubberduckUI.RenameDialog_ConflictingNames, _model.NewName,
283-
_model.NewName/*nameCollisions.First().IdentifierName*/);
253+
_model.NewName);
284254

285255
return _messageBox?.ConfirmYesNo(message, RubberduckUI.RenameDialog_Caption) ?? false;
286256
}
287257

288258
return true;
289259
}
290260

291-
private static bool IsSubroutineOrProperty(Declaration declaration)
292-
{
293-
return declaration.DeclarationType.HasFlag(DeclarationType.Property)
294-
|| declaration.DeclarationType == DeclarationType.Function
295-
|| declaration.DeclarationType == DeclarationType.Procedure;
296-
}
297-
//private HashSet<Declaration> AddRelatedMembers(Declaration candidateDeclaration, HashSet<Declaration> conflictingMembers)
298-
//{
299-
// if (candidateDeclaration.DeclarationType == DeclarationType.UserDefinedTypeMember
300-
// || candidateDeclaration.DeclarationType == DeclarationType.EnumerationMember)
301-
// {
302-
// var relatedMembers = Members(candidateDeclaration.ParentDeclaration).Where(m =>
303-
// (m.DeclarationType == DeclarationType.EnumerationMember
304-
// || m.DeclarationType == DeclarationType.UserDefinedTypeMember)
305-
// && !m.IdentifierName.Equals(candidateDeclaration.IdentifierName)
306-
// );
307-
// foreach (var rm in relatedMembers)
308-
// {
309-
// conflictingMembers.Add(rm);
310-
// }
311-
// }
312-
// return conflictingMembers;
313-
//}
314-
315261
private Declaration ResolveEventHandlerToControl(Declaration userTarget)
316262
{
317263
var control = _state.DeclarationFinder.UserDeclarations(DeclarationType.Control)

0 commit comments

Comments
 (0)