public void DeleteRegions()
{
var tree = SyntaxTree.ParseText(@"
using System;
#region Program
class Program
{
static void Main()
{
}
}
#endregion
#region Other
class C
{
}
#endregion");
SyntaxNode oldRoot = tree.GetRoot();
// Get all RegionDirective and EndRegionDirective trivia.
IEnumerable<SyntaxTrivia> trivia = oldRoot.DescendantTrivia()
.Where(t => t.Kind == SyntaxKind.RegionDirectiveTrivia ||
t.Kind == SyntaxKind.EndRegionDirectiveTrivia);
SyntaxNode newRoot = oldRoot.ReplaceTrivia(oldTrivia: trivia,
computeReplacementTrivia:
(originalTrivia, originalTriviaWithReplacedDescendants) => SyntaxTriviaList.Empty);
Assert.AreEqual(@"
using System;
class Program
{
static void Main()
{
}
}
class C
{
}
", newRoot.ToFullString());
}