Browse Source

Fixed a bug with multiple inheritance and an indirect return type.

Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
pull/75/head
Dimitar Dobrev 12 years ago
parent
commit
159a65d6bb
  1. 3
      src/Generator/Generators/CSharp/CSharpTextTemplate.cs
  2. 1
      tests/CSharpTemp/CSharpTemp.h

3
src/Generator/Generators/CSharp/CSharpTextTemplate.cs

@ -1806,7 +1806,8 @@ namespace CppSharp.Generators.CSharp
Class retClass = null; Class retClass = null;
hiddenParam.Type.Desugar().IsTagDecl(out retClass); hiddenParam.Type.Desugar().IsTagDecl(out retClass);
WriteLine("var {0} = new {1}.Internal();", GeneratedIdentifier("ret"), QualifiedIdentifier(retClass)); WriteLine("var {0} = new {1}.Internal();", GeneratedIdentifier("ret"),
QualifiedIdentifier(retClass.OriginalClass ?? retClass));
} }
var names = new List<string>(); var names = new List<string>();

1
tests/CSharpTemp/CSharpTemp.h

@ -22,6 +22,7 @@ class DLL_API Qux
{ {
public: public:
int farAwayFunc() const; int farAwayFunc() const;
int array[3];
}; };
class DLL_API Bar : public Qux class DLL_API Bar : public Qux

Loading…
Cancel
Save