From 01bc87bde9b398aeebb562b0181b6f9680d2c25e Mon Sep 17 00:00:00 2001 From: Dimitar Dobrev Date: Tue, 19 Aug 2014 20:27:53 +0300 Subject: [PATCH] Added a check for ignored ctors. Signed-off-by: Dimitar Dobrev --- src/Generator/Generators/CSharp/CSharpTextTemplate.cs | 4 ++-- tests/Basic/Basic.cpp | 4 ++++ tests/Basic/Basic.h | 7 +++++++ 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/Generator/Generators/CSharp/CSharpTextTemplate.cs b/src/Generator/Generators/CSharp/CSharpTextTemplate.cs index e9c41ed6..d2d85cee 100644 --- a/src/Generator/Generators/CSharp/CSharpTextTemplate.cs +++ b/src/Generator/Generators/CSharp/CSharpTextTemplate.cs @@ -497,10 +497,10 @@ namespace CppSharp.Generators.CSharp { foreach (var ctor in @class.Constructors) { - if (@class.IsStatic) + if (@class.IsStatic || ctor.IsMoveConstructor) continue; - if (ctor.IsMoveConstructor) + if (!ctor.IsGenerated && !(Options.GenerateCopyConstructors && ctor.IsCopyConstructor)) continue; if (ctor.IsDefaultConstructor && !@class.HasNonTrivialDefaultConstructor) diff --git a/tests/Basic/Basic.cpp b/tests/Basic/Basic.cpp index 66e15404..2601760a 100644 --- a/tests/Basic/Basic.cpp +++ b/tests/Basic/Basic.cpp @@ -10,6 +10,10 @@ Foo::Foo() SomePointerPointer = &SomePointer; } +Foo::Foo(Private p) +{ +} + const char* Foo::GetANSI() { return "ANSI"; diff --git a/tests/Basic/Basic.h b/tests/Basic/Basic.h index 5f70e28f..a0b7b4ed 100644 --- a/tests/Basic/Basic.h +++ b/tests/Basic/Basic.h @@ -13,9 +13,16 @@ private: class DLL_API Foo { +private: + enum Private + { + Value1, + Value2 + }; public: Foo(); + Foo(Private p); int A; float B; IgnoredType ignoredType;