public void SetupPasses(Driver driver) { const RenameTargets renameTargets = RenameTargets.Function | RenameTargets.Method | RenameTargets.Field; driver.AddTranslationUnitPass(new CaseRenamePass(renameTargets, RenameCasePattern.UpperCamelCase)); driver.AddTranslationUnitPass(new CheckMacroPass()); driver.AddTranslationUnitPass(new FindEventsPass(driver.TypeDatabase)); driver.AddTranslationUnitPass(new GetterSetterToPropertyPass()); driver.AddTranslationUnitPass(new FieldToPropertyPass()); if (driver.Options.GeneratorKind == LanguageGeneratorKind.CPlusPlusCLI) { driver.AddTranslationUnitPass(new ObjectOverridesPass()); } driver.AddTranslationUnitPass(new FunctionToInstanceMethodPass()); driver.AddTranslationUnitPass(new FunctionToStaticMethodPass()); driver.AddGeneratorOutputPass(new FLDObjectOverridesPass()); }