Skip to content

Commit 28cfd6b

Browse files
committed
Miscellaneous updates renaming
1 parent 4f61978 commit 28cfd6b

9 files changed

+43
-39
lines changed

Rubberduck.Refactorings/EncapsulateField/EncapsulateFieldElementsBuilder.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,13 @@ public class EncapsulateFieldElementsBuilder
1515
{
1616
private readonly IDeclarationFinderProvider _declarationFinderProvider;
1717
private QualifiedModuleName _targetQMN;
18+
private string _defaultObjectStateUDTTypeName;
1819

1920
public EncapsulateFieldElementsBuilder(IDeclarationFinderProvider declarationFinderProvider, QualifiedModuleName targetQMN)
2021
{
2122
_declarationFinderProvider = declarationFinderProvider;
2223
_targetQMN = targetQMN;
24+
_defaultObjectStateUDTTypeName = $"T{_targetQMN.ComponentName}";
2325
CreateRefactoringElements();
2426
}
2527

@@ -55,8 +57,7 @@ private void CreateRefactoringElements()
5557

5658
ObjectStateUDTCandidates = BuildObjectStateUDTCandidates(candidates).ToList();
5759

58-
var objectStateUDTIdentifier = $"T{_targetQMN.ComponentName}";
59-
ObjectStateUDT = ObjectStateUDTCandidates.FirstOrDefault(os => os.AsTypeDeclaration.IdentifierName.StartsWith(objectStateUDTIdentifier, StringComparison.InvariantCultureIgnoreCase));
60+
ObjectStateUDT = ObjectStateUDTCandidates.FirstOrDefault(os => os.AsTypeDeclaration.IdentifierName.StartsWith(_defaultObjectStateUDTTypeName, StringComparison.InvariantCultureIgnoreCase));
6061

6162
DefaultObjectStateUDT = CreateStateUDTField();
6263
DefaultObjectStateUDT.IsSelected = true;
@@ -88,8 +89,7 @@ private IEnumerable<IObjectStateUDT> BuildObjectStateUDTCandidates(IEnumerable<I
8889
objectStateUDTs.Add(new ObjectStateUDT(udt as IUserDefinedTypeCandidate));
8990
}
9091

91-
var objectStateUDTIdentifier = $"T{_targetQMN.ComponentName}";
92-
var objectStateUDT = objectStateUDTs.FirstOrDefault(os => os.AsTypeDeclaration.IdentifierName.StartsWith(objectStateUDTIdentifier, StringComparison.InvariantCultureIgnoreCase));
92+
var objectStateUDT = objectStateUDTs.FirstOrDefault(os => os.AsTypeDeclaration.IdentifierName.StartsWith(_defaultObjectStateUDTTypeName, StringComparison.InvariantCultureIgnoreCase));
9393

9494
return objectStateUDTs;
9595
}

Rubberduck.Refactorings/EncapsulateField/EncapsulationStrategies/ConvertFieldsToUDTMembers.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ protected override void LoadFieldReferenceContextReplacements(IEncapsulateFieldC
8484
{
8585
foreach (var idRef in member.FieldContextReferences)
8686
{
87-
var replacementText = member.ReferenceAccessor(idRef);
87+
var replacementText = member.IdentifierForReference(idRef);
8888
if (IsExternalReferenceRequiringModuleQualification(idRef))
8989
{
9090
replacementText = $"{udt.QualifiedModuleName.ComponentName}.{replacementText}";
@@ -98,7 +98,7 @@ protected override void LoadFieldReferenceContextReplacements(IEncapsulateFieldC
9898
{
9999
foreach (var idRef in field.Declaration.References)
100100
{
101-
var replacementText = converted.ReferenceAccessor(idRef);
101+
var replacementText = converted.IdentifierForReference(idRef);
102102

103103
if (IsExternalReferenceRequiringModuleQualification(idRef))
104104
{

Rubberduck.Refactorings/EncapsulateField/EncapsulationStrategies/EncapsulateFieldStrategyBase.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ protected virtual void LoadFieldReferenceContextReplacements(IEncapsulateFieldCa
132132
{
133133
foreach (var idRef in member.FieldContextReferences)
134134
{
135-
var replacementText = member.ReferenceAccessor(idRef);
135+
var replacementText = member.IdentifierForReference(idRef);
136136
SetUDTMemberReferenceRewriteContent(idRef, replacementText);
137137
}
138138
}
@@ -141,7 +141,7 @@ protected virtual void LoadFieldReferenceContextReplacements(IEncapsulateFieldCa
141141
{
142142
foreach (var idRef in field.Declaration.References)
143143
{
144-
var replacementText = field.ReferenceAccessor(idRef);
144+
var replacementText = field.IdentifierForReference(idRef);
145145
if (IsExternalReferenceRequiringModuleQualification(idRef))
146146
{
147147
replacementText = $"{field.QualifiedModuleName.ComponentName}.{replacementText}";

Rubberduck.Refactorings/EncapsulateField/FieldCandidates/ArrayCandidate.cs

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ namespace Rubberduck.Refactorings.EncapsulateField
1111
public interface IArrayCandidate : IEncapsulateFieldCandidate
1212
{
1313
string UDTMemberDeclaration { get;}
14+
bool HasExternalRedimOperation(out string errorMessage);
1415
}
1516

1617
public class ArrayCandidate : EncapsulateFieldCandidate, IArrayCandidate
@@ -37,9 +38,8 @@ public override bool TryValidateEncapsulationAttributes(out string errorMessage)
3738
errorMessage = string.Empty;
3839
if (!EncapsulateFlag) { return true; }
3940

40-
if (HasExternalRedimOperation)
41+
if (HasExternalRedimOperation(out errorMessage))
4142
{
42-
errorMessage = string.Format(RubberduckUI.EncapsulateField_ArrayHasExternalRedimFormat, IdentifierName);
4343
return false;
4444
}
4545
return ConflictFinder.TryValidateEncapsulationAttributes(this, out errorMessage);
@@ -48,14 +48,19 @@ public override bool TryValidateEncapsulationAttributes(out string errorMessage)
4848
public string UDTMemberDeclaration
4949
=> $"{PropertyIdentifier}({_subscripts}) {Tokens.As} {Declaration.AsTypeName}";
5050

51-
protected override string AccessorInProperty
52-
=> $"{BackingIdentifier}";
53-
54-
protected override string AccessorLocalReference(IdentifierReference idRef)
55-
=> $"{BackingIdentifier}";
51+
protected override string IdentifierForLocalReferences(IdentifierReference idRef)
52+
=> BackingIdentifier;
5653

57-
private bool HasExternalRedimOperation
58-
=> Declaration.References.Any(rf => rf.QualifiedModuleName != QualifiedModuleName
59-
&& rf.Context.TryGetAncestor<VBAParser.RedimVariableDeclarationContext>(out _));
54+
public bool HasExternalRedimOperation(out string errorMessage)
55+
{
56+
errorMessage = string.Empty;
57+
if (Declaration.References.Any(rf => rf.QualifiedModuleName != QualifiedModuleName
58+
&& rf.Context.TryGetAncestor<VBAParser.RedimVariableDeclarationContext>(out _)))
59+
{
60+
errorMessage = string.Format(RubberduckUI.EncapsulateField_ArrayHasExternalRedimFormat, IdentifierName);
61+
return true;
62+
}
63+
return false;
64+
}
6065
}
6166
}

Rubberduck.Refactorings/EncapsulateField/FieldCandidates/ConvertToUDTMemberCandidate.cs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ private string AccessorInProperty
119119
}
120120
}
121121

122-
public string ReferenceAccessor(IdentifierReference idRef)
122+
public string IdentifierForReference(IdentifierReference idRef)
123123
{
124124
if (idRef.QualifiedModuleName != QualifiedModuleName)
125125
{
@@ -136,9 +136,15 @@ public string ReferenceAccessor(IdentifierReference idRef)
136136

137137
public bool TryValidateEncapsulationAttributes(out string errorMessage)
138138
{
139+
errorMessage = string.Empty;
140+
if (!_wrapped.EncapsulateFlag) { return true; }
141+
139142
if (_wrapped is IArrayCandidate ac)
140143
{
141-
return ac.TryValidateEncapsulationAttributes(out errorMessage);
144+
if (ac.HasExternalRedimOperation(out errorMessage))
145+
{
146+
return false;
147+
}
142148
}
143149
return ConflictFinder.TryValidateEncapsulationAttributes(this, out errorMessage);
144150
}

Rubberduck.Refactorings/EncapsulateField/FieldCandidates/EncapsulateFieldCandidate.cs

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public interface IEncapsulateFieldCandidate : IEncapsulateFieldRefactoringElemen
3434
IValidateVBAIdentifiers NameValidator { set; get; }
3535
IEncapsulateFieldConflictFinder ConflictFinder { set; get; }
3636
bool TryValidateEncapsulationAttributes(out string errorMessage);
37-
string ReferenceAccessor(IdentifierReference idRef);
37+
string IdentifierForReference(IdentifierReference idRef);
3838
IEnumerable<PropertyAttributeSet> PropertyAttributeSets { get; }
3939
}
4040

@@ -140,22 +140,19 @@ public override bool Equals(object obj)
140140
public override string ToString()
141141
=>$"({TargetID}){Declaration.ToString()}";
142142

143-
protected virtual string AccessorInProperty
144-
=> $"{BackingIdentifier}";
143+
protected string IdentifierInNewProperties
144+
=> BackingIdentifier;
145145

146-
public string ReferenceAccessor(IdentifierReference idRef)
146+
public string IdentifierForReference(IdentifierReference idRef)
147147
{
148148
if (idRef.QualifiedModuleName != QualifiedModuleName)
149149
{
150-
return AccessorExternalReference(idRef);
150+
return PropertyIdentifier;
151151
}
152-
return AccessorLocalReference(idRef);
152+
return IdentifierForLocalReferences(idRef);
153153
}
154154

155-
protected virtual string AccessorLocalReference(IdentifierReference idRef)
156-
=> PropertyIdentifier;
157-
158-
protected virtual string AccessorExternalReference(IdentifierReference idRef)
155+
protected virtual string IdentifierForLocalReferences(IdentifierReference idRef)
159156
=> PropertyIdentifier;
160157

161158
public string PropertyIdentifier
@@ -226,7 +223,7 @@ protected virtual PropertyAttributeSet AsPropertyAttributeSet
226223
return new PropertyAttributeSet()
227224
{
228225
PropertyName = PropertyIdentifier,
229-
BackingField = AccessorInProperty,
226+
BackingField = IdentifierInNewProperties,
230227
AsTypeName = PropertyAsTypeName,
231228
ParameterName = ParameterName,
232229
GenerateLetter = ImplementLet,

Rubberduck.Refactorings/EncapsulateField/FieldCandidates/UserDefinedTypeCandidate.cs

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -114,17 +114,14 @@ public override bool EncapsulateFlag
114114
get => base.EncapsulateFlag;
115115
}
116116

117-
protected override string AccessorInProperty
118-
=> $"{BackingIdentifier}";
119-
120-
protected override string AccessorLocalReference(IdentifierReference idRef)
117+
protected override string IdentifierForLocalReferences(IdentifierReference idRef)
121118
{
122119
if (idRef.Context.Parent.Parent is VBAParser.WithStmtContext wsc)
123120
{
124121
return BackingIdentifier;
125122
}
126123

127-
return TypeDeclarationIsPrivate ? $"{BackingIdentifier}" : $"{PropertyIdentifier}";
124+
return TypeDeclarationIsPrivate ? BackingIdentifier : PropertyIdentifier;
128125
}
129126

130127
public override bool Equals(object obj)
@@ -174,7 +171,7 @@ protected override PropertyAttributeSet AsPropertyAttributeSet
174171
return new PropertyAttributeSet()
175172
{
176173
PropertyName = PropertyIdentifier,
177-
BackingField = AccessorInProperty,
174+
BackingField = IdentifierInNewProperties,
178175
AsTypeName = PropertyAsTypeName,
179176
ParameterName = ParameterName,
180177
GenerateLetter = ImplementLet,

Rubberduck.Refactorings/EncapsulateField/FieldCandidates/UserDefinedTypeMemberCandidate.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ public IEncapsulateFieldConflictFinder ConflictFinder
6868
public IEnumerable<IdentifierReference> FieldContextReferences
6969
=> GetUDTMemberReferencesForField(this, UDTField);
7070

71-
public string ReferenceAccessor(IdentifierReference idRef)
71+
public string IdentifierForReference(IdentifierReference idRef)
7272
=> PropertyIdentifier;
7373

7474
public PropertyAttributeSet AsPropertyGeneratorSpec

Rubberduck.Refactorings/EncapsulateField/Validations/ConvertFieldsToUDTMembersStrategyConflictFinder.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,6 @@ public override IEncapsulateFieldCandidate AssignNoConflictIdentifiers(IEncapsul
4646
return candidate;
4747
}
4848

49-
5049
protected override IEncapsulateFieldCandidate AssignNoConflictIdentifier(IEncapsulateFieldCandidate candidate, DeclarationType declarationType)
5150
{
5251
candidate = base.AssignNoConflictIdentifier(candidate, declarationType);

0 commit comments

Comments
 (0)