Browse Source

Fixed value returns of classes bound as reference types in CLI backend.

pull/45/merge
triton 12 years ago
parent
commit
e29bc41a59
  1. 9
      src/Generator/Generators/CLI/CLIMarshal.cs

9
src/Generator/Generators/CLI/CLIMarshal.cs

@ -1,6 +1,7 @@ @@ -1,6 +1,7 @@
using System;
using System.Text;
using CppSharp.AST;
using CppSharp.Generators.CSharp;
using CppSharp.Types;
using Delegate = CppSharp.AST.Delegate;
@ -177,6 +178,14 @@ namespace CppSharp.Generators.CLI @@ -177,6 +178,14 @@ namespace CppSharp.Generators.CLI
instance += Context.ReturnVarName;
if (@class.IsRefType)
{
var name = Helpers.GeneratedIdentifier(Context.ReturnVarName);
Context.SupportBefore.WriteLine("auto {0} = new ::{1}({2});", name,
@class.QualifiedOriginalName, Context.ReturnVarName);
instance = name;
}
WriteClassInstance(@class, instance);
return true;
}

Loading…
Cancel
Save