@@ -283,14 +283,18 @@ private async Task<RenameServiceOptions> GetScopedSettings(DocumentUri uri, Canc
283
283
}
284
284
}
285
285
286
+ internal abstract class RenameVisitorBase ( ) : AstVisitor
287
+ {
288
+ internal List < TextEdit > Edits { get ; } = new ( ) ;
289
+ }
290
+
286
291
/// <summary>
287
292
/// A visitor that generates a list of TextEdits to a TextDocument to rename a PowerShell function
288
293
/// You should use a new instance for each rename operation.
289
294
/// Skipverify can be used as a performance optimization when you are sure you are in scope.
290
295
/// </summary>
291
- internal class RenameFunctionVisitor ( Ast target , string newName , bool skipVerify = false ) : AstVisitor
296
+ internal class RenameFunctionVisitor ( Ast target , string newName , bool skipVerify = false ) : RenameVisitorBase
292
297
{
293
- internal List < TextEdit > Edits { get ; } = new ( ) ;
294
298
private Ast ? CurrentDocument ;
295
299
private FunctionDefinitionAst ? FunctionToRename ;
296
300
@@ -399,12 +403,11 @@ internal TextEdit[] VisitAndGetEdits(Ast ast)
399
403
}
400
404
401
405
#nullable disable
402
- internal class RenameVariableVisitor : AstVisitor
406
+ internal class RenameVariableVisitor : RenameVisitorBase
403
407
{
404
408
private readonly string OldName ;
405
409
private readonly string NewName ;
406
410
internal bool ShouldRename ;
407
- internal List < TextEdit > Edits = [ ] ;
408
411
internal int StartLineNumber ;
409
412
internal int StartColumnNumber ;
410
413
internal VariableExpressionAst TargetVariableAst ;
0 commit comments