Skip to content

Commit f39ff6b

Browse files
committed
Force refactorings to rewrite changes to the code pane
1 parent 8779618 commit f39ff6b

File tree

3 files changed

+13
-1
lines changed

3 files changed

+13
-1
lines changed

RetailCoder.VBE/Refactorings/EncapsulateField/EncapsulateFieldRefactoring.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ public class EncapsulateFieldRefactoring : IRefactoring
1616
private readonly IRefactoringPresenterFactory<IEncapsulateFieldPresenter> _factory;
1717
private EncapsulateFieldModel _model;
1818

19-
private HashSet<IModuleRewriter> _referenceRewriters = new HashSet<IModuleRewriter>();
19+
private readonly HashSet<IModuleRewriter> _referenceRewriters = new HashSet<IModuleRewriter>();
2020

2121
public EncapsulateFieldRefactoring(IVBE vbe, IIndenter indenter, IRefactoringPresenterFactory<IEncapsulateFieldPresenter> factory)
2222
{

RetailCoder.VBE/Refactorings/IntroduceField/IntroduceFieldRefactoring.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,8 @@ private void PromoteVariable(IModuleRewriter rewriter, Declaration target)
9595
pane.Selection = oldSelection.Value.Selection;
9696
}
9797
}
98+
99+
rewriter.Rewrite();
98100
}
99101

100102
private void AddField(IModuleRewriter rewriter, Declaration target)

RetailCoder.VBE/Refactorings/IntroduceParameter/IntroduceParameterRefactoring.cs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
using System.Windows.Forms;
44
using Rubberduck.Common;
55
using Rubberduck.Parsing.Grammar;
6+
using Rubberduck.Parsing.PostProcessing;
67
using Rubberduck.Parsing.Symbols;
78
using Rubberduck.Parsing.VBA;
89
using Rubberduck.UI;
@@ -18,6 +19,8 @@ public class IntroduceParameterRefactoring : IRefactoring
1819
private readonly IList<Declaration> _declarations;
1920
private readonly IMessageBox _messageBox;
2021

22+
private readonly HashSet<IModuleRewriter> _rewriters = new HashSet<IModuleRewriter>();
23+
2124
private static readonly DeclarationType[] ValidDeclarationTypes =
2225
{
2326
DeclarationType.Function,
@@ -94,6 +97,7 @@ private void PromoteVariable(Declaration target)
9497
}
9598

9699
var rewriter = _state.GetRewriter(target);
100+
_rewriters.Add(rewriter);
97101

98102
QualifiedSelection? oldSelection = null;
99103
var pane = _vbe.ActiveCodePane;
@@ -110,6 +114,11 @@ private void PromoteVariable(Declaration target)
110114
{
111115
pane.Selection = oldSelection.Value.Selection;
112116
}
117+
118+
foreach (var tokenRewriter in _rewriters)
119+
{
120+
tokenRewriter.Rewrite();
121+
}
113122
}
114123

115124
private bool PromptIfMethodImplementsInterface(Declaration targetVariable)
@@ -188,6 +197,7 @@ private void UpdateSignature(Declaration targetMethod, Declaration targetVariabl
188197
private void AddParameter(Declaration targetMethod, Declaration targetVariable, VBAParser.ArgListContext paramList)
189198
{
190199
var rewriter = _state.GetRewriter(targetMethod);
200+
_rewriters.Add(rewriter);
191201

192202
var argList = paramList.arg();
193203
var newParameter = Tokens.ByVal + " " + targetVariable.IdentifierName + " "+ Tokens.As + " " + targetVariable.AsTypeName;

0 commit comments

Comments
 (0)