Skip to content

Commit b0a40c9

Browse files
author
Kapil Borle
committed
Add extension method to convert IScriptExtent to Range
1 parent 536d46a commit b0a40c9

2 files changed

Lines changed: 19 additions & 13 deletions

File tree

Engine/Extensions.cs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,5 +42,17 @@ public static IScriptExtent Translate(this IScriptExtent extent, int lineDelta,
4242
newEndColumnNumber,
4343
extent.EndScriptPosition.Line));
4444
}
45+
46+
/// <summary>
47+
/// Converts IScriptExtent to Range
48+
/// </summary>
49+
public static Range ToRange(this IScriptExtent extent)
50+
{
51+
return new Range(
52+
extent.StartLineNumber,
53+
extent.StartColumnNumber,
54+
extent.EndLineNumber,
55+
extent.EndColumnNumber);
56+
}
4557
}
4658
}

rules/UseSupportsShouldProcess.cs

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,6 @@ private List<CorrectionExtent> GetCorrections(
141141
{
142142
if (whatIfIndex != -1)
143143
{
144-
// TODO update method name to reflect its purpose.
145144
correctionExtents.Add(GetCorrectionToRemoveParam(whatIfIndex, parameterAsts));
146145
}
147146

@@ -281,16 +280,11 @@ private static CorrectionExtent GetCorrectionToRemoveFuncParamDecl(
281280
}
282281

283282
// doesn't seem right. The arguments should be of same type.
284-
private CorrectionExtent Normalize(IScriptExtent referenceExtent, CorrectionExtent cextent)
283+
private CorrectionExtent Normalize(
284+
IScriptExtent referenceExtent,
285+
CorrectionExtent correctionExtent)
285286
{
286-
// TODO Add ToRange extension methods for this conversion
287-
var refRange = new Range(
288-
referenceExtent.StartLineNumber,
289-
referenceExtent.StartColumnNumber,
290-
referenceExtent.EndLineNumber,
291-
referenceExtent.EndColumnNumber);
292-
293-
var shiftedRange = Range.Normalize(refRange, cextent);
287+
var shiftedRange = Range.Normalize(referenceExtent.ToRange(), correctionExtent);
294288

295289
// TODO Add a method to TextEdit class that takes in range and text
296290
// TODO Add a method to CorrectionExtent that takes in range and all other stuff
@@ -299,9 +293,9 @@ private CorrectionExtent Normalize(IScriptExtent referenceExtent, CorrectionExte
299293
shiftedRange.End.Line,
300294
shiftedRange.Start.Column,
301295
shiftedRange.End.Column,
302-
cextent.Text,
303-
cextent.File,
304-
cextent.Description);
296+
correctionExtent.Text,
297+
correctionExtent.File,
298+
correctionExtent.Description);
305299
}
306300
private static bool TryGetCmdletBindingAttribute(
307301
ParamBlockAst paramBlockAst,

0 commit comments

Comments
 (0)