diff --git a/src/Generator/Generators/CLI/CLIHelpers.cs b/src/Generator/Generators/CLI/CLIHelpers.cs index f267c9c4..f9f92136 100644 --- a/src/Generator/Generators/CLI/CLIHelpers.cs +++ b/src/Generator/Generators/CLI/CLIHelpers.cs @@ -137,7 +137,7 @@ namespace Cxxi.Generators.CLI public CLIGenerator(Generator generator) { Generator = generator; - typePrinter = new CLITypePrinter(generator); + typePrinter = new CLITypePrinter(TypeMapDatabase, Library); Type.TypePrinter = typePrinter; } diff --git a/src/Generator/Generators/CLI/CLIMarshal.cs b/src/Generator/Generators/CLI/CLIMarshal.cs index 20a1f84c..7613c2db 100644 --- a/src/Generator/Generators/CLI/CLIMarshal.cs +++ b/src/Generator/Generators/CLI/CLIMarshal.cs @@ -187,7 +187,8 @@ namespace Cxxi.Generators.CLI private string ToCLITypeName(Declaration decl) { - var typePrinter = new CLITypePrinter(Generator); + var typePrinter = new CLITypePrinter(Generator.TypeMapDatabase, + Generator.Library); return typePrinter.VisitDeclaration(decl); } diff --git a/src/Generator/Generators/CLI/CLITypePrinter.cs b/src/Generator/Generators/CLI/CLITypePrinter.cs index a2d7d973..a7b3191f 100644 --- a/src/Generator/Generators/CLI/CLITypePrinter.cs +++ b/src/Generator/Generators/CLI/CLITypePrinter.cs @@ -6,13 +6,13 @@ namespace Cxxi.Generators.CLI { public class CLITypePrinter : ITypeVisitor, IDeclVisitor { - public Cxxi.Generators.Generator Generator { get; set; } + private ITypeMapDatabase TypeMapDatabase; public Library Library { get; set; } - public CLITypePrinter(Cxxi.Generators.Generator generator) + public CLITypePrinter(ITypeMapDatabase database, Library library) { - Generator = generator; - Library = generator.Library; + TypeMapDatabase = database; + Library = library; } public string VisitTagType(TagType tag, TypeQualifiers quals) @@ -153,7 +153,7 @@ namespace Cxxi.Generators.CLI return null; TypeMap typeMap = null; - if (Generator.TypeMapDatabase.FindTypeMap(decl, out typeMap)) + if (TypeMapDatabase.FindTypeMap(decl, out typeMap)) { return typeMap.Signature(); } @@ -174,7 +174,7 @@ namespace Cxxi.Generators.CLI var decl = template.Template.TemplatedDecl; TypeMap typeMap = null; - if (Generator.TypeMapDatabase.FindTypeMap(decl, out typeMap)) + if (TypeMapDatabase.FindTypeMap(decl, out typeMap)) { typeMap.Declaration = decl; typeMap.Type = template;