Browse Source

Bind all pointers to primitives as IntPtr, and not just pointers to void or unsigned chars.

pull/1/head
triton 13 years ago
parent
commit
dfb611d323
  1. 10
      src/Generator/Generators/CLI/CLITypePrinter.cs

10
src/Generator/Generators/CLI/CLITypePrinter.cs

@ -94,15 +94,15 @@ namespace Cxxi.Generators.CLI
return string.Format("{0}^", function.Visit(this, quals)); return string.Format("{0}^", function.Visit(this, quals));
} }
if (pointee.IsPrimitiveType(PrimitiveType.Void, walkTypedefs: true) || if (pointee.IsPrimitiveType(PrimitiveType.Char) && quals.IsConst)
pointee.IsPrimitiveType(PrimitiveType.UInt8, walkTypedefs: true))
{ {
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); return pointee.Visit(this, quals);

Loading…
Cancel
Save