private void Button_Click_2(object sender, RoutedEventArgs e) { var fileOrDir = tbConfigureAwaitFileOrDir.Text; if (fileOrDir.EndsWith(".cs")) { var file = fileOrDir; var haveChanges = false; var cu = TameCompilationUnitSyntax.FromFile(file); var items = cu.DescendantsAll().OfType <TameAwaitExpressionSyntax>().ToArray(); for (int i = 0; i < items.Length; i++) { var item = items[i]; if (!item.Source.EndsWith(".ConfigureAwait(false)")) { item.ReplaceNode(item.Source + ".ConfigureAwait(false)"); haveChanges = true; } } if (haveChanges) { var newSource = cu.Source; File.WriteAllText(file, newSource); } lbAwaits.ItemsSource = null; lbAwaits.ItemsSource = TameCompilationUnitSyntax.FromFile(fileOrDir).DescendantsAll().OfType <TameAwaitExpressionSyntax>().Select(v => v.Source); } else { var awaitExpressions = new List <string>(); foreach (var file in Directory.GetFiles(fileOrDir, "*.cs", SearchOption.AllDirectories)) { var haveChanges = false; var cu = TameCompilationUnitSyntax.FromFile(file); var items = cu.DescendantsAll().OfType <TameAwaitExpressionSyntax>().ToArray(); for (int i = 0; i < items.Length; i++) { var item = items[i]; if (!item.Source.EndsWith(".ConfigureAwait(false)")) { item.ReplaceNode(item.Source + ".ConfigureAwait(false)"); haveChanges = true; } } if (haveChanges) { var newSource = cu.Source; File.WriteAllText(file, newSource); awaitExpressions.AddRange(TameCompilationUnitSyntax.FromFile(file).DescendantsAll().OfType <TameAwaitExpressionSyntax>().Select(v => v.FormatedSource)); } } lbAwaits.ItemsSource = null; lbAwaits.ItemsSource = awaitExpressions; } }
private void Button_Click(object sender, RoutedEventArgs e) { var fileOrDir = tbConfigureAwaitFileOrDir.Text; if (fileOrDir.EndsWith(".cs")) { lbAwaits.ItemsSource = null; lbAwaits.ItemsSource = TameCompilationUnitSyntax.FromFile(fileOrDir).DescendantsAll().OfType <TameAwaitExpressionSyntax>().Select(v => v.FormatedSource); } else { var awaitExpressions = new List <string>(); foreach (var file in Directory.GetFiles(fileOrDir, "*.cs", SearchOption.AllDirectories)) { awaitExpressions.AddRange(TameCompilationUnitSyntax.FromFile(file).DescendantsAll().OfType <TameAwaitExpressionSyntax>().Select(v => v.FormatedSource)); } lbAwaits.ItemsSource = null; lbAwaits.ItemsSource = awaitExpressions; } }