From dfb611d323b1e7642101e34f8214e5a861818638 Mon Sep 17 00:00:00 2001 From: triton Date: Fri, 22 Mar 2013 16:10:51 +0000 Subject: [PATCH] Bind all pointers to primitives as IntPtr, and not just pointers to void or unsigned chars. --- src/Generator/Generators/CLI/CLITypePrinter.cs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/Generator/Generators/CLI/CLITypePrinter.cs b/src/Generator/Generators/CLI/CLITypePrinter.cs index 9ae9b9fe..24c053ff 100644 --- a/src/Generator/Generators/CLI/CLITypePrinter.cs +++ b/src/Generator/Generators/CLI/CLITypePrinter.cs @@ -94,15 +94,15 @@ namespace Cxxi.Generators.CLI return string.Format("{0}^", function.Visit(this, quals)); } - if (pointee.IsPrimitiveType(PrimitiveType.Void, walkTypedefs: true) || - pointee.IsPrimitiveType(PrimitiveType.UInt8, walkTypedefs: true)) + if (pointee.IsPrimitiveType(PrimitiveType.Char) && quals.IsConst) { - return "System::IntPtr"; + return "System::String^"; } - if (pointee.IsPrimitiveType(PrimitiveType.Char) && quals.IsConst) + PrimitiveType primitive; + if (pointee.IsPrimitiveType(out primitive, walkTypedefs: true)) { - return "System::String^"; + return "System::IntPtr"; } return pointee.Visit(this, quals);