From a4d5b7a770657cccb27b3ff52e02093d928d190a Mon Sep 17 00:00:00 2001 From: Simon Lindgren Date: Wed, 13 Jun 2012 23:57:46 +0200 Subject: [PATCH] [Refactoring] Add Script.InsertAfter(). --- ICSharpCode.NRefactory.CSharp/Refactoring/Script.cs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/ICSharpCode.NRefactory.CSharp/Refactoring/Script.cs b/ICSharpCode.NRefactory.CSharp/Refactoring/Script.cs index db7dba7edd..8264033398 100644 --- a/ICSharpCode.NRefactory.CSharp/Refactoring/Script.cs +++ b/ICSharpCode.NRefactory.CSharp/Refactoring/Script.cs @@ -153,6 +153,18 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring output.RegisterTrackedSegments(this, startOffset); } + public void InsertAfter(AstNode node, AstNode insertNode) + { + var indentOffset = GetCurrentOffset(new TextLocation(node.StartLocation.Line, 1)); + var output = OutputNode (GetIndentLevelAt (indentOffset), insertNode); + string text = output.Text; + if (!(insertNode is Expression || insertNode is AstType)) + text = Options.EolMarker + text; + var insertOffset = GetCurrentOffset(node.EndLocation); + InsertText(insertOffset, text); + output.RegisterTrackedSegments(this, insertOffset); + } + public void AddTo(BlockStatement bodyStatement, AstNode insertNode) { var startOffset = GetCurrentOffset(bodyStatement.LBraceToken.EndLocation);