Skip to content

Commit a2c78dd

Browse files
committed
fixes #4531
1 parent dae8848 commit a2c78dd

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

Rubberduck.CodeAnalysis/QuickFixes/UseSetKeywordForObjectAssignmentQuickFix.cs

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
using Rubberduck.Inspections.Abstract;
22
using Rubberduck.Inspections.Concrete;
3+
using Rubberduck.Parsing;
4+
using Rubberduck.Parsing.Grammar;
35
using Rubberduck.Parsing.Inspections.Abstract;
46
using Rubberduck.Parsing.Rewriter;
57

@@ -14,7 +16,16 @@ public UseSetKeywordForObjectAssignmentQuickFix()
1416
public override void Fix(IInspectionResult result, IRewriteSession rewriteSession)
1517
{
1618
var rewriter = rewriteSession.CheckOutModuleRewriter(result.QualifiedSelection.QualifiedName);
17-
rewriter.InsertBefore(result.Context.Start.TokenIndex, "Set ");
19+
var letStmt = result.Context.GetAncestor<VBAParser.LetStmtContext>();
20+
var letToken = letStmt.LET();
21+
if (letToken != null)
22+
{
23+
rewriter.Replace(letToken, "Set");
24+
}
25+
else
26+
{
27+
rewriter.InsertBefore(letStmt.Start.TokenIndex, "Set ");
28+
}
1829
}
1930

2031
public override string Description(IInspectionResult result) => Resources.Inspections.QuickFixes.SetObjectVariableQuickFix;

0 commit comments

Comments
 (0)