From 3751e647a400bdd2249164779c95a5e460c75ed4 Mon Sep 17 00:00:00 2001 From: Dimitar Dobrev Date: Fri, 12 Jun 2015 01:39:52 +0300 Subject: [PATCH] Simplified and moved the pass for translation units renamed to name-spaces. Signed-off-by: Dimitar Dobrev --- src/Generator/Driver.cs | 15 +-------------- src/Generator/Passes/RenameRootNamespaces.cs | 13 ++++++------- 2 files changed, 7 insertions(+), 21 deletions(-) diff --git a/src/Generator/Driver.cs b/src/Generator/Driver.cs index 6fd905a4..bcfe4766 100644 --- a/src/Generator/Driver.cs +++ b/src/Generator/Driver.cs @@ -32,18 +32,6 @@ namespace CppSharp public ASTContext ASTContext { get; private set; } public SymbolContext Symbols { get; private set; } - public struct TranslationUnitRenameInfo - { - public string translationUnit; - public string rootNamespaceName; - } - public static Dictionary RootNamespaceRenames { get; private set; } - - static Driver() - { - Driver.RootNamespaceRenames = new Dictionary(); - } - public Driver(DriverOptions options, IDiagnosticConsumer diagnostics) { Options = options; @@ -272,6 +260,7 @@ namespace CppSharp TranslationUnitPasses.AddPass(new CheckIgnoredDeclsPass()); TranslationUnitPasses.AddPass(new CheckFlagEnumsPass()); TranslationUnitPasses.AddPass(new CheckDuplicatedNamesPass()); + TranslationUnitPasses.AddPass(new RenameRootNamespacesPass()); if (Options.IsCSharpGenerator && Options.GenerateDefaultValuesForArguments) { TranslationUnitPasses.AddPass(new HandleDefaultParamValuesPass()); @@ -295,8 +284,6 @@ namespace CppSharp if (Options.GeneratePropertiesAdvanced) TranslationUnitPasses.AddPass(new GetterSetterToPropertyAdvancedPass()); - - TranslationUnitPasses.AddPass(new RenameRootNamespacesPass()); } public void ProcessCode() diff --git a/src/Generator/Passes/RenameRootNamespaces.cs b/src/Generator/Passes/RenameRootNamespaces.cs index 155b8e7b..8177d19d 100644 --- a/src/Generator/Passes/RenameRootNamespaces.cs +++ b/src/Generator/Passes/RenameRootNamespaces.cs @@ -1,3 +1,4 @@ +using System.Collections.Generic; using CppSharp.AST; namespace CppSharp.Passes @@ -14,21 +15,19 @@ namespace CppSharp.Passes return false; var fileName = unit.TranslationUnit.FileName; - if (Driver.RootNamespaceRenames.ContainsKey(fileName)) + if (rootNamespaceRenames.ContainsKey(fileName)) { - var rootNamespace = Driver.RootNamespaceRenames[fileName].rootNamespaceName; + var rootNamespace = rootNamespaceRenames[fileName]; if (this.Driver.Options.OutputNamespace != rootNamespace) unit.Name = rootNamespace; } else if (unit.GenerationKind == GenerationKind.Generate) { - Driver.RootNamespaceRenames.Add(fileName, new Driver.TranslationUnitRenameInfo - { - translationUnit = fileName, - rootNamespaceName = Driver.Options.OutputNamespace, - }); + rootNamespaceRenames.Add(fileName, Driver.Options.OutputNamespace); } return true; } + + private static readonly Dictionary rootNamespaceRenames = new Dictionary(); } }