diff --git a/src/Generator/Driver.cs b/src/Generator/Driver.cs index 9e1a4429..5816a273 100644 --- a/src/Generator/Driver.cs +++ b/src/Generator/Driver.cs @@ -14,13 +14,15 @@ namespace Cxxi private readonly Options options; private readonly Library library; private readonly ILibrary transform; - public TypeDatabase typeDatabase; + private readonly TypeMapDatabase typeDatabase; public Driver(Options options, ILibrary transform) { this.options = options; this.transform = transform; this.library = new Library(options.OutputNamespace, options.LibraryName); + typeDatabase = new TypeMapDatabase(); + typeDatabase.SetupTypeMaps(); } public void ParseCode() @@ -60,9 +62,6 @@ namespace Cxxi public void ProcessCode() { - typeDatabase = new TypeDatabase(); - typeDatabase.SetupTypeMaps(); - // Sort the declarations to be in original order. foreach (var unit in library.TranslationUnits) SortDeclarations(unit); diff --git a/src/Generator/Generators/CLI/CLITypePrinter.cs b/src/Generator/Generators/CLI/CLITypePrinter.cs index a7b3191f..df17c0e9 100644 --- a/src/Generator/Generators/CLI/CLITypePrinter.cs +++ b/src/Generator/Generators/CLI/CLITypePrinter.cs @@ -1,13 +1,12 @@ using System; -using Cxxi; using Cxxi.Types; namespace Cxxi.Generators.CLI { public class CLITypePrinter : ITypeVisitor, IDeclVisitor { - private ITypeMapDatabase TypeMapDatabase; public Library Library { get; set; } + private readonly ITypeMapDatabase TypeMapDatabase; public CLITypePrinter(ITypeMapDatabase database, Library library) { diff --git a/src/Generator/Types/TypeMap.cs b/src/Generator/Types/TypeMap.cs index 035e5b20..ae2e2335 100644 --- a/src/Generator/Types/TypeMap.cs +++ b/src/Generator/Types/TypeMap.cs @@ -67,11 +67,11 @@ namespace Cxxi.Types bool FindTypeMap(string name, out TypeMap typeMap); } - public class TypeDatabase : ITypeMapDatabase + public class TypeMapDatabase : ITypeMapDatabase { public IDictionary TypeMaps { get; set; } - public TypeDatabase() + public TypeMapDatabase() { TypeMaps = new Dictionary(); }