From aa552badc4e885441dec445a278fff36ada96e26 Mon Sep 17 00:00:00 2001 From: triton Date: Wed, 30 Jan 2013 17:19:18 +0000 Subject: [PATCH] Remove pass-specific methods from PassBuilder and move them as extension methods to the rename passes. --- src/Generator/PassBuilder.cs | 24 ------------------------ src/Generator/Passes/RenamePass.cs | 26 ++++++++++++++++++++++++++ 2 files changed, 26 insertions(+), 24 deletions(-) diff --git a/src/Generator/PassBuilder.cs b/src/Generator/PassBuilder.cs index 67a5d4aa..c6359826 100644 --- a/src/Generator/PassBuilder.cs +++ b/src/Generator/PassBuilder.cs @@ -25,29 +25,5 @@ namespace Cxxi pass.Library = Library; Passes.Add(pass); } - - #region Operation Helpers - - public void RenameWithPattern(string pattern, string replacement, RenameTargets targets) - { - AddPass(new RegexRenamePass(pattern, replacement, targets)); - } - - public void RemovePrefix(string prefix) - { - AddPass(new RegexRenamePass("^" + prefix, String.Empty)); - } - - public void RemovePrefixEnumItem(string prefix) - { - AddPass(new RegexRenamePass("^" + prefix, String.Empty, RenameTargets.EnumItem)); - } - - public void RenameDeclsCase(RenameTargets targets, RenameCasePattern pattern) - { - AddPass(new CaseRenamePass(targets, pattern)); - } - - #endregion } } diff --git a/src/Generator/Passes/RenamePass.cs b/src/Generator/Passes/RenamePass.cs index 6221fc6d..00cf76af 100644 --- a/src/Generator/Passes/RenamePass.cs +++ b/src/Generator/Passes/RenamePass.cs @@ -221,4 +221,30 @@ namespace Cxxi.Passes return sb.ToString(); } } + + public static class RenamePassExtensions + { + public static void RenameWithPattern(this PassBuilder builder, + string pattern, string replacement, RenameTargets targets) + { + builder.AddPass(new RegexRenamePass(pattern, replacement, targets)); + } + + public static void RemovePrefix(this PassBuilder builder, string prefix) + { + builder.AddPass(new RegexRenamePass("^" + prefix, String.Empty)); + } + + public static void RemovePrefixEnumItem(this PassBuilder builder, string prefix) + { + builder.AddPass(new RegexRenamePass("^" + prefix, String.Empty, + RenameTargets.EnumItem)); + } + + public static void RenameDeclsCase(this PassBuilder builder, + RenameTargets targets, RenameCasePattern pattern) + { + builder.AddPass(new CaseRenamePass(targets, pattern)); + } + } }