Skip to content

Commit 6f9e347

Browse files
committed
Remove RewritingManager from RefactoringBase
1 parent dd31347 commit 6f9e347

30 files changed

+57
-63
lines changed

Rubberduck.Main/Root/RubberduckIoCInstaller.cs

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -149,15 +149,15 @@ public void Install(IWindsorContainer container, IConfigurationStore store)
149149
.LifestyleSingleton());
150150

151151
RegisterSettingsViewModel(container);
152+
RegisterRefactoringPreviewProviders(container);
152153
RegisterRefactoringDialogs(container);
153154

154155
container.Register(Component.For<ISearchResultsWindowViewModel>()
155156
.ImplementedBy<SearchResultsWindowViewModel>()
156157
.LifestyleSingleton());
157158
container.Register(Component.For<SearchResultPresenterInstanceManager>()
158159
.LifestyleSingleton());
159-
160-
RegisterRefactoringDialogs(container);
160+
161161
RegisterDockablePresenters(container);
162162
RegisterDockableUserControls(container);
163163

@@ -715,6 +715,23 @@ private void RegisterSettingsViewModel(IWindsorContainer container)
715715
);
716716
}
717717

718+
private void RegisterRefactoringPreviewProviders(IWindsorContainer container)
719+
{
720+
container.Register(Types
721+
.FromAssemblyInThisApplication()
722+
.IncludeNonPublicTypes()
723+
.BasedOn(typeof(IRefactoringPreviewProvider<>))
724+
.LifestyleSingleton()
725+
.WithServiceSelect((type, types) =>
726+
{
727+
var face = type.GetInterfaces().FirstOrDefault(i =>
728+
i.IsGenericType && i.GetGenericTypeDefinition() == typeof(IRefactoringPreviewProvider<>));
729+
730+
return face == null ? new[] { type } : new[] { type, face };
731+
})
732+
);
733+
}
734+
718735
private void RegisterRefactoringDialogs(IWindsorContainer container)
719736
{
720737
container.Register(Types

Rubberduck.Refactorings/Abstract/InteractiveRefactoringBase.cs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
using Rubberduck.Parsing.Rewriter;
2-
using Rubberduck.VBEditor.Utility;
1+
using Rubberduck.VBEditor.Utility;
32
using System;
43
using Rubberduck.Parsing.Symbols;
54
using Rubberduck.Parsing.UIContext;
@@ -13,12 +12,11 @@ public abstract class InteractiveRefactoringBase<TPresenter, TModel> : Refactori
1312
{
1413
private readonly Func<TModel, IDisposalActionContainer<TPresenter>> _presenterFactory;
1514

16-
protected InteractiveRefactoringBase(
17-
IRewritingManager rewritingManager,
15+
protected InteractiveRefactoringBase(
1816
ISelectionProvider selectionProvider,
1917
IRefactoringPresenterFactory factory,
2018
IUiDispatcher uiDispatcher)
21-
:base(rewritingManager, selectionProvider)
19+
:base(selectionProvider)
2220
{
2321
Action<TPresenter> presenterDisposalAction = (TPresenter presenter) => uiDispatcher.Invoke(() => factory.Release(presenter));
2422
_presenterFactory = ((model) => DisposalActionContainer.Create(factory.Create<TPresenter, TModel>(model), presenterDisposalAction));

Rubberduck.Refactorings/Abstract/RefactoringBase.cs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
using Rubberduck.Parsing.Rewriter;
2-
using Rubberduck.Parsing.Symbols;
1+
using Rubberduck.Parsing.Symbols;
32
using Rubberduck.Refactorings.Exceptions;
43
using Rubberduck.VBEditor;
54
using Rubberduck.VBEditor.Utility;
@@ -8,12 +7,10 @@ namespace Rubberduck.Refactorings
87
{
98
public abstract class RefactoringBase : IRefactoring
109
{
11-
protected readonly IRewritingManager RewritingManager;
1210
protected readonly ISelectionProvider SelectionProvider;
1311

14-
protected RefactoringBase(IRewritingManager rewritingManager, ISelectionProvider selectionProvider)
12+
protected RefactoringBase(ISelectionProvider selectionProvider)
1513
{
16-
RewritingManager = rewritingManager;
1714
SelectionProvider = selectionProvider;
1815
}
1916

Rubberduck.Refactorings/EncapsulateField/EncapsulateFieldRefactoring.cs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ public class EncapsulateFieldRefactoring : InteractiveRefactoringBase<IEncapsula
2727
private readonly IDeclarationFinderProvider _declarationFinderProvider;
2828
private readonly ISelectedDeclarationProvider _selectedDeclarationProvider;
2929
private readonly IIndenter _indenter;
30+
private readonly IRewritingManager _rewritingManager;
3031

3132
public EncapsulateFieldRefactoring(
3233
IDeclarationFinderProvider declarationFinderProvider,
@@ -36,11 +37,12 @@ public EncapsulateFieldRefactoring(
3637
ISelectionProvider selectionProvider,
3738
ISelectedDeclarationProvider selectedDeclarationProvider,
3839
IUiDispatcher uiDispatcher)
39-
:base(rewritingManager, selectionProvider, factory, uiDispatcher)
40+
:base(selectionProvider, factory, uiDispatcher)
4041
{
4142
_declarationFinderProvider = declarationFinderProvider;
4243
_selectedDeclarationProvider = selectedDeclarationProvider;
4344
_indenter = indenter;
45+
_rewritingManager = rewritingManager;
4446
}
4547

4648
public EncapsulateFieldModel TestUserInteractionOnly(Declaration target, Func<EncapsulateFieldModel, EncapsulateFieldModel> userInteraction)
@@ -99,7 +101,7 @@ protected override EncapsulateFieldModel InitializeModel(Declaration target)
99101

100102
protected override void RefactorImpl(EncapsulateFieldModel model)
101103
{
102-
var refactorRewriteSession = new EncapsulateFieldRewriteSession(RewritingManager.CheckOutCodePaneSession()) as IEncapsulateFieldRewriteSession;
104+
var refactorRewriteSession = new EncapsulateFieldRewriteSession(_rewritingManager.CheckOutCodePaneSession()) as IEncapsulateFieldRewriteSession;
103105

104106
refactorRewriteSession = RefactorRewrite(model, refactorRewriteSession);
105107

@@ -111,7 +113,7 @@ protected override void RefactorImpl(EncapsulateFieldModel model)
111113

112114
private string PreviewRewrite(EncapsulateFieldModel model)
113115
{
114-
var previewSession = new EncapsulateFieldRewriteSession(RewritingManager.CheckOutCodePaneSession()) as IEncapsulateFieldRewriteSession; ;
116+
var previewSession = new EncapsulateFieldRewriteSession(_rewritingManager.CheckOutCodePaneSession()) as IEncapsulateFieldRewriteSession; ;
115117

116118
previewSession = RefactorRewrite(model, previewSession, true);
117119

Rubberduck.Refactorings/ExtractInterface/ExtractInterfaceRefactoring.cs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
using System.Linq;
22
using Rubberduck.Parsing;
33
using Rubberduck.Parsing.Grammar;
4-
using Rubberduck.Parsing.Rewriter;
54
using Rubberduck.Parsing.Symbols;
65
using Rubberduck.Parsing.UIContext;
76
using Rubberduck.Parsing.VBA;
@@ -20,10 +19,9 @@ public ExtractInterfaceRefactoring(
2019
ExtractInterfaceBaseRefactoring baseRefactoring,
2120
IDeclarationFinderProvider declarationFinderProvider,
2221
IRefactoringPresenterFactory factory,
23-
IRewritingManager rewritingManager,
2422
ISelectionProvider selectionProvider,
2523
IUiDispatcher uiDispatcher)
26-
:base(rewritingManager, selectionProvider, factory, uiDispatcher)
24+
:base(selectionProvider, factory, uiDispatcher)
2725
{
2826
_baseRefactoring = baseRefactoring;
2927
_declarationFinderProvider = declarationFinderProvider;

Rubberduck.Refactorings/ImplementInterface/ImplementInterfaceRefactoring.cs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
using System;
22
using System.Collections.Generic;
33
using System.Linq;
4-
using Rubberduck.Parsing.Rewriter;
54
using Rubberduck.Parsing.Symbols;
65
using Rubberduck.Parsing.VBA;
76
using Rubberduck.Refactorings.Exceptions;
@@ -19,9 +18,8 @@ public class ImplementInterfaceRefactoring : RefactoringBase
1918
public ImplementInterfaceRefactoring(
2019
ImplementInterfaceBaseRefactoring baseRefactoring,
2120
IDeclarationFinderProvider declarationFinderProvider,
22-
IRewritingManager rewritingManager,
2321
ISelectionProvider selectionProvider)
24-
:base(rewritingManager, selectionProvider)
22+
:base(selectionProvider)
2523
{
2624
_baseRefactoring = baseRefactoring;
2725
_declarationFinderProvider = declarationFinderProvider;

Rubberduck.Refactorings/IntroduceField/IntroduceFieldRefactoring.cs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
using System.Linq;
2-
using Rubberduck.Parsing.Rewriter;
32
using Rubberduck.Parsing.Symbols;
43
using Rubberduck.Parsing.VBA;
54
using Rubberduck.Refactorings.Exceptions;
@@ -16,10 +15,9 @@ public class IntroduceFieldRefactoring : RefactoringBase
1615

1716
public IntroduceFieldRefactoring(
1817
IntroduceFieldBaseRefactoring baseRefactoring,
19-
IRewritingManager rewritingManager,
2018
ISelectionProvider selectionProvider,
2119
ISelectedDeclarationProvider selectedDeclarationProvider)
22-
:base(rewritingManager, selectionProvider)
20+
:base(selectionProvider)
2321
{
2422
_baseRefactoring = baseRefactoring;
2523
_selectedDeclarationProvider = selectedDeclarationProvider;

Rubberduck.Refactorings/IntroduceParameter/IntroduceParameterRefactoring.cs

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,4 @@
1-
using System.Collections.Generic;
2-
using System.Linq;
3-
using Rubberduck.Interaction;
4-
using Rubberduck.Parsing;
5-
using Rubberduck.Parsing.Grammar;
6-
using Rubberduck.Parsing.Rewriter;
1+
using Rubberduck.Interaction;
72
using Rubberduck.Parsing.Symbols;
83
using Rubberduck.Parsing.VBA;
94
using Rubberduck.Refactorings.Exceptions;
@@ -23,10 +18,9 @@ public class IntroduceParameterRefactoring : RefactoringBase
2318
public IntroduceParameterRefactoring(
2419
IntroduceParameterBaseRefactoring baseRefactoring,
2520
IMessageBox messageBox,
26-
IRewritingManager rewritingManager,
2721
ISelectionProvider selectionProvider,
2822
ISelectedDeclarationProvider selectedDeclarationProvider)
29-
:base(rewritingManager, selectionProvider)
23+
:base(selectionProvider)
3024
{
3125
_baseRefactoring = baseRefactoring;
3226
_selectedDeclarationProvider = selectedDeclarationProvider;

Rubberduck.Refactorings/MoveCloserToUsage/MoveCloserToUsageRefactoring.cs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
using System.Linq;
2-
using Rubberduck.Parsing.Rewriter;
32
using Rubberduck.Parsing.Symbols;
43
using Rubberduck.Parsing.VBA;
54
using Rubberduck.Refactorings.Exceptions;
@@ -17,11 +16,10 @@ public class MoveCloserToUsageRefactoring : RefactoringBase
1716

1817
public MoveCloserToUsageRefactoring(
1918
MoveCloserToUsageBaseRefactoring baseRefactoring,
20-
IDeclarationFinderProvider declarationFinderProvider,
21-
IRewritingManager rewritingManager,
19+
IDeclarationFinderProvider declarationFinderProvider,
2220
ISelectionProvider selectionProvider,
2321
ISelectedDeclarationProvider selectedDeclarationProvider)
24-
:base(rewritingManager, selectionProvider)
22+
:base(selectionProvider)
2523
{
2624
_baseRefactoring = baseRefactoring;
2725
_declarationFinderProvider = declarationFinderProvider;

Rubberduck.Refactorings/RemoveParameters/RemoveParametersRefactoring.cs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
using System.Linq;
2-
using Rubberduck.Parsing.Rewriter;
32
using Rubberduck.Parsing.Symbols;
43
using Rubberduck.Parsing.UIContext;
54
using Rubberduck.Parsing.VBA;
@@ -20,11 +19,10 @@ public RemoveParametersRefactoring(
2019
RemoveParameterBaseRefactoring baseRefactoring,
2120
IDeclarationFinderProvider declarationFinderProvider,
2221
IRefactoringPresenterFactory factory,
23-
IRewritingManager rewritingManager,
2422
ISelectionProvider selectionProvider,
2523
ISelectedDeclarationProvider selectedDeclarationProvider,
2624
IUiDispatcher uiDispatcher)
27-
:base(rewritingManager, selectionProvider, factory, uiDispatcher)
25+
:base(selectionProvider, factory, uiDispatcher)
2826
{
2927
_baseRefactoring = baseRefactoring;
3028
_declarationFinderProvider = declarationFinderProvider;

0 commit comments

Comments
 (0)