Skip to content

Commit 18f9668

Browse files
author
Kapil Borle
committed
Fix corrections for operator violations
1 parent 139754e commit 18f9668

File tree

1 file changed

+17
-3
lines changed

1 file changed

+17
-3
lines changed

Rules/UseWhitespace.cs

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -283,30 +283,44 @@ private IEnumerable<DiagnosticRecord> FindOperatorViolations(TokenOperations tok
283283
GetDiagnosticSeverity(),
284284
tokenOperations.Ast.Extent.File,
285285
null,
286-
GetOperatorCorrections(tokenNode.Value, hasWhitespaceBefore, hasWhitespaceAfter).ToList());
286+
GetOperatorCorrections(
287+
tokenNode.Previous.Value,
288+
tokenNode.Value,
289+
tokenNode.Next.Value,
290+
hasWhitespaceBefore,
291+
hasWhitespaceAfter).ToList());
287292
}
288293
}
289294
}
290295

291296
private IEnumerable<CorrectionExtent> GetOperatorCorrections(
297+
Token prevToken,
292298
Token token,
299+
Token nextToken,
293300
bool hasWhitespaceBefore,
294301
bool hasWhitespaceAfter)
295302
{
296303
var sb = new StringBuilder();
304+
IScriptExtent e1 = token.Extent;
297305
if (!hasWhitespaceBefore)
298306
{
299307
sb.Append(whiteSpace);
308+
e1 = prevToken.Extent;
309+
sb.Append(token.Text);
300310
}
301311

302-
sb.Append(token.Text);
303312
if (!hasWhitespaceAfter)
304313
{
305314
sb.Append(whiteSpace);
306315
}
307316

317+
var e2 = nextToken.Extent;
318+
var extent = new ScriptExtent(
319+
new ScriptPosition(e1.File, e1.EndLineNumber, e1.EndColumnNumber, null),
320+
new ScriptPosition(e2.File, e2.StartLineNumber, e2.StartColumnNumber, null));
321+
308322
yield return new CorrectionExtent(
309-
token.Extent,
323+
extent,
310324
sb.ToString(),
311325
token.Extent.File,
312326
GetError(ErrorKind.Operator));

0 commit comments

Comments
 (0)