public void TestCheckFlagEnumsPass() { var @enum = AstContext.Enum("FlagEnum"); Assert.IsFalse(@enum.IsFlags); var @enum2 = AstContext.Enum("FlagEnum2"); Assert.IsFalse(@enum2.IsFlags); passBuilder.AddPass(new CheckFlagEnumsPass()); passBuilder.RunPasses(pass => pass.VisitLibrary(AstContext)); Assert.IsTrue(@enum.IsFlags); Assert.IsFalse(@enum2.IsFlags); }
public void TestExtractInterfacePass() { var c = AstContext.Class("TestExtractInterfacePass"); Assert.IsNull(c.GetInterface()); passBuilder.AddPass(new ExtractInterfacePass()); passBuilder.RunPasses(pass => pass.VisitASTContext(AstContext)); Assert.IsNotNull(c.GetInterface()); Assert.AreEqual("ITestExtractInterfacePass", c.GetInterface().Name); }
public static void RenameDeclsLowerCase(this PassBuilder <TranslationUnitPass> builder, RenameTargets targets) { builder.AddPass(new CaseRenamePass(targets, RenameCasePattern.LowerCamelCase)); }
public static void RenameDeclsCase(this PassBuilder <TranslationUnitPass> builder, RenameTargets targets, RenameCasePattern pattern) { builder.AddPass(new CaseRenamePass(targets, pattern)); }
public static void RemovePrefix(this PassBuilder <TranslationUnitPass> builder, string prefix, RenameTargets targets = RenameTargets.Any) { builder.AddPass(new RegexRenamePass("^" + prefix, string.Empty, targets)); }
public static void RenameWithPattern(this PassBuilder <TranslationUnitPass> builder, string pattern, string replacement, RenameTargets targets) { builder.AddPass(new RegexRenamePass(pattern, replacement, targets)); }
public static void SetupPasses(PassBuilder <TranslationUnitPass> passes) { passes.AddPass(new RenameEnumItemsPass()); passes.AddPass(new FixMethodParametersPass()); }