Skip to content

Commit 34ff6c4

Browse files
committed
Add CanFixMultiple flag to quick fixes
This is in preparation of fix selected items.
1 parent 77d8a23 commit 34ff6c4

File tree

62 files changed

+175
-69
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

62 files changed

+175
-69
lines changed

Rubberduck.CodeAnalysis/QuickFixes/Abstract/QuickFixBase.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,10 +57,10 @@ public void RemoveInspections(params Type[] inspections)
5757
public abstract void Fix(IInspectionResult result, IRewriteSession rewriteSession);
5858
public abstract string Description(IInspectionResult result);
5959

60+
public abstract bool CanFixMultiple { get; }
6061
public abstract bool CanFixInProcedure { get; }
6162
public abstract bool CanFixInModule { get; }
6263
public abstract bool CanFixInProject { get; }
63-
64-
public virtual bool CanFixAll => CanFixInProject;
64+
public abstract bool CanFixAll { get; }
6565
}
6666
}

Rubberduck.CodeAnalysis/QuickFixes/Abstract/RefactoringQuickFixBase.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,10 @@ public override void Fix(IInspectionResult result, IRewriteSession rewriteSessio
3939

4040
protected abstract void Refactor(IInspectionResult result);
4141

42+
public override bool CanFixMultiple => false;
4243
public override bool CanFixInProcedure => false;
4344
public override bool CanFixInModule => false;
4445
public override bool CanFixInProject => false;
46+
public override bool CanFixAll => false;
4547
}
4648
}

Rubberduck.CodeAnalysis/QuickFixes/Concrete/AccessSheetUsingCodeNameQuickFix.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ namespace Rubberduck.CodeAnalysis.QuickFixes.Concrete
1717
/// <inspections>
1818
/// <inspection name="SheetAccessedUsingStringInspection" />
1919
/// </inspections>
20-
/// <canfix procedure="true" module="true" project="true" />
20+
/// <canfix multiple="true" procedure="true" module="true" project="true" all="true" />
2121
/// <example>
2222
/// <before>
2323
/// <![CDATA[
@@ -111,8 +111,10 @@ public override string Description(IInspectionResult result)
111111
return Resources.Inspections.QuickFixes.AccessSheetUsingCodeNameQuickFix;
112112
}
113113

114+
public override bool CanFixMultiple => true;
114115
public override bool CanFixInProcedure => true;
115116
public override bool CanFixInModule => true;
116117
public override bool CanFixInProject => true;
118+
public override bool CanFixAll => true;
117119
}
118120
}

Rubberduck.CodeAnalysis/QuickFixes/Concrete/AddAttributeAnnotationQuickFix.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ namespace Rubberduck.CodeAnalysis.QuickFixes.Concrete
1616
/// <inspection name="MissingModuleAnnotationInspection" />
1717
/// <inspection name="MissingMemberAnnotationInspection" />
1818
/// </inspections>
19-
/// <canfix procedure="true" module="true" project="true" />
19+
/// <canfix multiple="true" procedure="true" module="true" project="true" all="true"/>
2020
/// <example>
2121
/// <before>
2222
/// <![CDATA[
@@ -79,8 +79,10 @@ private static string AttributeBaseName(string attributeName, Declaration declar
7979

8080
public override string Description(IInspectionResult result) => Resources.Inspections.QuickFixes.AddAttributeAnnotationQuickFix;
8181

82+
public override bool CanFixMultiple => true;
8283
public override bool CanFixInProcedure => true;
8384
public override bool CanFixInModule => true;
8485
public override bool CanFixInProject => true;
86+
public override bool CanFixAll => true;
8587
}
8688
}

Rubberduck.CodeAnalysis/QuickFixes/Concrete/AddIdentifierToWhiteListQuickFix.cs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ namespace Rubberduck.CodeAnalysis.QuickFixes.Concrete
1515
/// <inspection name="HungarianNotationInspection" />
1616
/// <inspection name="UseMeaningfulNameInspection" />
1717
/// </inspections>
18-
/// <canfix procedure="false" module="false" project="false" />
18+
/// <canfix multiple="true" procedure="false" module="false" project="false" all="false"/>
1919
internal sealed class AddIdentifierToWhiteListQuickFix : QuickFixBase
2020
{
2121
private readonly IConfigurationService<CodeInspectionSettings> _settings;
@@ -38,8 +38,10 @@ public override void Fix(IInspectionResult result, IRewriteSession rewriteSessio
3838

3939
public override string Description(IInspectionResult result) => Resources.Inspections.QuickFixes.WhiteListIdentifierQuickFix;
4040

41-
public override bool CanFixInProcedure { get; } = false;
42-
public override bool CanFixInModule { get; } = false;
43-
public override bool CanFixInProject { get; } = false;
41+
public override bool CanFixMultiple => true;
42+
public override bool CanFixInProcedure => false;
43+
public override bool CanFixInModule => false;
44+
public override bool CanFixInProject => false;
45+
public override bool CanFixAll => false;
4446
}
4547
}

Rubberduck.CodeAnalysis/QuickFixes/Concrete/AddMissingAttributeQuickFix.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ namespace Rubberduck.CodeAnalysis.QuickFixes.Concrete
1515
/// <inspections>
1616
/// <inspection name="MissingAttributeInspection" />
1717
/// </inspections>
18-
/// <canfix procedure="true" module="true" project="true" />
18+
/// <canfix multiple="true" procedure="true" module="true" project="true" all="true" />
1919
/// <example>
2020
/// <before>
2121
/// <![CDATA[
@@ -77,8 +77,10 @@ public override void Fix(IInspectionResult result, IRewriteSession rewriteSessio
7777

7878
public override CodeKind TargetCodeKind => CodeKind.AttributesCode;
7979

80+
public override bool CanFixMultiple => true;
8081
public override bool CanFixInProcedure => true;
8182
public override bool CanFixInModule => true;
8283
public override bool CanFixInProject => true;
84+
public override bool CanFixAll => true;
8385
}
8486
}

Rubberduck.CodeAnalysis/QuickFixes/Concrete/AddStepOneQuickFix.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ namespace Rubberduck.CodeAnalysis.QuickFixes.Concrete
1313
/// <inspections>
1414
/// <inspection name="StepIsNotSpecifiedInspection" />
1515
/// </inspections>
16-
/// <canfix procedure="true" module="true" project="true" />
16+
/// <canfix multiple="true" procedure="true" module="true" project="true" all="true" />
1717
/// <example>
1818
/// <before>
1919
/// <![CDATA[
@@ -42,11 +42,11 @@ public AddStepOneQuickFix()
4242
: base(typeof(StepIsNotSpecifiedInspection))
4343
{}
4444

45+
public override bool CanFixMultiple => true;
4546
public override bool CanFixInProcedure => true;
46-
4747
public override bool CanFixInModule => true;
48-
4948
public override bool CanFixInProject => true;
49+
public override bool CanFixAll => true;
5050

5151
public override string Description(IInspectionResult result)
5252
{

Rubberduck.CodeAnalysis/QuickFixes/Concrete/AdjustAttributeAnnotationQuickFix.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ namespace Rubberduck.CodeAnalysis.QuickFixes.Concrete
1616
/// <inspections>
1717
/// <inspection name="AttributeValueOutOfSyncInspection" />
1818
/// </inspections>
19-
/// <canfix procedure="true" module="true" project="true" />
19+
/// <canfix multiple="true" procedure="true" module="true" project="true" all="true" />
2020
/// <example>
2121
/// <before>
2222
/// <![CDATA[
@@ -94,8 +94,10 @@ private static bool IsDefaultAttribute(ComponentType componentType, string attri
9494

9595
public override string Description(IInspectionResult result) => Resources.Inspections.QuickFixes.AdjustAttributeAnnotationQuickFix;
9696

97+
public override bool CanFixMultiple => true;
9798
public override bool CanFixInProcedure => true;
9899
public override bool CanFixInModule => true;
99100
public override bool CanFixInProject => true;
101+
public override bool CanFixAll => true;
100102
}
101103
}

Rubberduck.CodeAnalysis/QuickFixes/Concrete/AdjustAttributeValuesQuickFix.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ namespace Rubberduck.CodeAnalysis.QuickFixes.Concrete
1717
/// <inspections>
1818
/// <inspection name="AttributeValueOutOfSyncInspection" />
1919
/// </inspections>
20-
/// <canfix procedure="true" module="true" project="true" />
20+
/// <canfix multiple="true" procedure="true" module="true" project="true" all="true" />
2121
/// <example>
2222
/// <before>
2323
/// <![CDATA[
@@ -89,8 +89,10 @@ public override void Fix(IInspectionResult result, IRewriteSession rewriteSessio
8989

9090
public override CodeKind TargetCodeKind => CodeKind.AttributesCode;
9191

92+
public override bool CanFixMultiple => true;
9293
public override bool CanFixInProcedure => true;
9394
public override bool CanFixInModule => true;
9495
public override bool CanFixInProject => true;
96+
public override bool CanFixAll => true;
9597
}
9698
}

Rubberduck.CodeAnalysis/QuickFixes/Concrete/ApplicationWorksheetFunctionQuickFix.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ namespace Rubberduck.CodeAnalysis.QuickFixes.Concrete
1111
/// <inspections>
1212
/// <inspection name="ApplicationWorksheetFunctionInspection" />
1313
/// </inspections>
14-
/// <canfix procedure="true" module="true" project="true" />
14+
/// <canfix multiple="true" procedure="true" module="true" project="true" all="true" />
1515
/// <example>
1616
/// <before>
1717
/// <![CDATA[
@@ -42,8 +42,10 @@ public override void Fix(IInspectionResult result, IRewriteSession rewriteSessio
4242

4343
public override string Description(IInspectionResult result) => Resources.Inspections.QuickFixes.ApplicationWorksheetFunctionQuickFix;
4444

45+
public override bool CanFixMultiple => true;
4546
public override bool CanFixInProcedure => true;
4647
public override bool CanFixInModule => true;
4748
public override bool CanFixInProject => true;
49+
public override bool CanFixAll => true;
4850
}
4951
}

0 commit comments

Comments
 (0)