From c2c7941187e131d73a6f1523a719f56f1c658550 Mon Sep 17 00:00:00 2001 From: triton Date: Wed, 30 Jan 2013 16:27:48 +0000 Subject: [PATCH] Pass the TypeMapDatabase explicitly to CLIMarshalManagedToNativePrinter. --- src/Generator/Generators/CLI/CLIMarshal.cs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/Generator/Generators/CLI/CLIMarshal.cs b/src/Generator/Generators/CLI/CLIMarshal.cs index 100b7f15..b0d91596 100644 --- a/src/Generator/Generators/CLI/CLIMarshal.cs +++ b/src/Generator/Generators/CLI/CLIMarshal.cs @@ -225,12 +225,13 @@ namespace Cxxi.Generators.CLI public TextGenerator Return; public TextGenerator ArgumentPrefix; - Generator Generator { get; set; } + ITypeMapDatabase TypeMapDatabase { get; set; } MarshalContext Context { get; set; } - public CLIMarshalManagedToNativePrinter(Generator gen, MarshalContext ctx) + public CLIMarshalManagedToNativePrinter(ITypeMapDatabase typeMap, + MarshalContext ctx) { - Generator = gen; + TypeMapDatabase = typeMap; Context = ctx; SupportBefore = new TextGenerator(); @@ -355,7 +356,7 @@ namespace Cxxi.Generators.CLI var decl = typedef.Declaration; TypeMap typeMap = null; - if (Generator.TypeMapDatabase.FindTypeMap(decl, out typeMap)) + if (TypeMapDatabase.FindTypeMap(decl, out typeMap)) { Return.Write(typeMap.MarshalToNative(Context)); return typeMap.IsValueType; @@ -418,7 +419,7 @@ namespace Cxxi.Generators.CLI field.Name); var marshalCtx = new MarshalContext() { ArgName = fieldRef }; - var marshal = new CLIMarshalManagedToNativePrinter(Generator, + var marshal = new CLIMarshalManagedToNativePrinter(TypeMapDatabase, marshalCtx); field.Visit(marshal);