Skip to content

Commit 38a2a4f

Browse files
committed
Added precondition Debug Asserts
1 parent 3246ef1 commit 38a2a4f

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

Rubberduck.Inspections/QuickFixes/AssignedByValParameterMakeLocalCopyQuickFix.cs

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,9 @@ public AssignedByValParameterMakeLocalCopyQuickFix(RubberduckParserState state,
3232

3333
public override void Fix(IInspectionResult result)
3434
{
35+
Debug.Assert(result.Target.Context.Parent is ArgListContext);
36+
Debug.Assert(null != ParserRuleContextHelper.GetChild<EndOfStatementContext>(result.Target.Context.Parent.Parent));
37+
3538
var forbiddenNames = _parserState.DeclarationFinder.GetDeclarationsWithIdentifiersToAvoid(result.Target).Select(n => n.IdentifierName);
3639

3740
var localIdentifier = PromptForLocalVariableName(result.Target, forbiddenNames.ToList());
@@ -120,10 +123,8 @@ private void InsertLocalVariableDeclarationAndAssignment(IModuleRewriter rewrite
120123
var endOfStmtCtxt = ParserRuleContextHelper.GetChild<EndOfStatementContext>(target.Context.Parent.Parent);
121124
var eosContent = endOfStmtCtxt.GetText();
122125
var idxLastNewLine = eosContent.LastIndexOf(Environment.NewLine);
123-
var comment = eosContent.Substring(0, idxLastNewLine);
124-
var endOfStmtNewLineContent = eosContent.Substring(idxLastNewLine);
125-
126-
Debug.Assert(target.Context.Parent is ArgListContext);
126+
var endOfStmtCtxtComment = eosContent.Substring(0, idxLastNewLine);
127+
var endOfStmtCtxtEndFormat = eosContent.Substring(idxLastNewLine);
127128

128129
var insertCtxt = (ParserRuleContext)ParserRuleContextHelper.GetChild<AsTypeClauseContext>(target.Context.Parent.Parent);
129130
if(insertCtxt == null)
@@ -132,7 +133,7 @@ private void InsertLocalVariableDeclarationAndAssignment(IModuleRewriter rewrite
132133
}
133134

134135
rewriter.Remove(endOfStmtCtxt);
135-
rewriter.InsertAfter(insertCtxt.Stop.TokenIndex, $"{comment}{endOfStmtNewLineContent}{localVariableDeclaration}" + $"{endOfStmtNewLineContent}{localVariableAssignment}{endOfStmtNewLineContent}");
136+
rewriter.InsertAfter(insertCtxt.Stop.TokenIndex, $"{endOfStmtCtxtComment}{endOfStmtCtxtEndFormat}{localVariableDeclaration}" + $"{endOfStmtCtxtEndFormat}{localVariableAssignment}{endOfStmtCtxtEndFormat}");
136137
}
137138
}
138139
}

0 commit comments

Comments
 (0)