Skip to content

Commit ab8d942

Browse files
committed
Integrate RefactoringActions
Removes EncapsulateFieldRefactoringAction base class to make UseBackingField and UseBackingUDTMember refactoring actions independent. Common functionality has been moved to new refactoringActions that are constructor injected into UseBackingField and UseBackingUDTMember refactoring actions.
1 parent e29f3b2 commit ab8d942

10 files changed

+423
-437
lines changed

Rubberduck.Refactorings/DeclareFieldsAsUDTMembers/DeclareFieldsAsUDTMembersModel.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
using System.Collections.Generic;
44
using System.Linq;
55

6-
namespace Rubberduck.Refactorings.MoveFieldsToUDT
6+
namespace Rubberduck.Refactorings.DeclareFieldsAsUDTMembers
77
{
88
public class DeclareFieldsAsUDTMembersModel : IRefactoringModel
99
{

Rubberduck.Refactorings/DeclareFieldsAsUDTMembers/DeclareFieldsAsUDTMembersRefactoringAction.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
using System;
77
using System.Collections.Generic;
88
using System.Linq;
9-
namespace Rubberduck.Refactorings.MoveFieldsToUDT
9+
namespace Rubberduck.Refactorings.DeclareFieldsAsUDTMembers
1010
{
1111
public class DeclareFieldsAsUDTMembersRefactoringAction : CodeOnlyRefactoringActionBase<DeclareFieldsAsUDTMembersModel>
1212
{

Rubberduck.Refactorings/EncapsulateField/EncapsulateFieldModel.cs

Lines changed: 23 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
using System;
2-
using System.Collections.Generic;
1+
using System.Collections.Generic;
32
using System.Linq;
43
using Rubberduck.Parsing.Symbols;
54
using Rubberduck.Parsing.VBA;
65
using Rubberduck.VBEditor;
6+
using Rubberduck.Refactorings.CodeBlockInsert;
77

88
namespace Rubberduck.Refactorings.EncapsulateField
99
{
@@ -19,6 +19,8 @@ public class EncapsulateFieldModel : IRefactoringModel
1919

2020
private IDictionary<Declaration, (Declaration, IEnumerable<Declaration>)> _udtFieldToUdtDeclarationMap = new Dictionary<Declaration, (Declaration, IEnumerable<Declaration>)>();
2121

22+
private Dictionary<NewContentType, List<string>> _newContent { set; get; }
23+
2224
public EncapsulateFieldModel(
2325
Declaration target,
2426
IEnumerable<IEncapsulateFieldCandidate> candidates,
@@ -54,7 +56,10 @@ public EncapsulateFieldStrategy EncapsulateFieldStrategy
5456
get => _encapsulationFieldStategy;
5557
set
5658
{
57-
if (_encapsulationFieldStategy == value) { return; }
59+
if (_encapsulationFieldStategy == value)
60+
{
61+
return;
62+
}
5863

5964
_encapsulationFieldStategy = value;
6065

@@ -96,27 +101,36 @@ public IEnumerable<IEncapsulateFieldCandidate> SelectedFieldCandidates
96101

97102
public IEnumerable<IUserDefinedTypeCandidate> UDTFieldCandidates
98103
=> EncapsulationCandidates
99-
.Where(v => v is IUserDefinedTypeCandidate)
100-
.Cast<IUserDefinedTypeCandidate>();
104+
.Where(v => v is IUserDefinedTypeCandidate)
105+
.Cast<IUserDefinedTypeCandidate>();
101106

102107
public IEnumerable<IUserDefinedTypeCandidate> SelectedUDTFieldCandidates
103108
=> SelectedFieldCandidates
104-
.Where(v => v is IUserDefinedTypeCandidate)
105-
.Cast<IUserDefinedTypeCandidate>();
109+
.Where(v => v is IUserDefinedTypeCandidate)
110+
.Cast<IUserDefinedTypeCandidate>();
106111

107112
public IEncapsulateFieldCandidate this[string encapsulatedFieldTargetID]
108113
=> EncapsulationCandidates.Where(c => c.TargetID.Equals(encapsulatedFieldTargetID)).Single();
109114

110115
public IEncapsulateFieldCandidate this[Declaration fieldDeclaration]
111116
=> EncapsulationCandidates.Where(c => c.Declaration == fieldDeclaration).Single();
112-
117+
118+
public void AddContentBlock(NewContentType contentType, string block)
119+
=> _newContent[contentType].Add(block);
120+
121+
public Dictionary<NewContentType, List<string>> NewContent
122+
{
123+
set => _newContent = value;
124+
get => _newContent;
125+
}
126+
113127
private IObjectStateUDT _activeObjectStateUDT;
114128
public IObjectStateUDT ObjectStateUDTField
115129
{
116130
get
117131
{
118132
_activeObjectStateUDT = ObjectStateUDTCandidates
119-
.SingleOrDefault(os => os.IsSelected) ?? _newObjectStateUDT;
133+
.SingleOrDefault(os => os.IsSelected) ?? _newObjectStateUDT;
120134

121135
return _activeObjectStateUDT;
122136
}

Rubberduck.Refactorings/EncapsulateField/EncapsulateFieldRefactoringActionImplBase.cs

Lines changed: 0 additions & 296 deletions
This file was deleted.

0 commit comments

Comments
 (0)