From 17fa53ac06a99e05daa559878ff7c7e9faa7f8c7 Mon Sep 17 00:00:00 2001 From: Dimitar Dobrev Date: Thu, 21 Aug 2014 02:13:23 +0300 Subject: [PATCH] Fixed the advanced pass for properties to skip ignored methods. Signed-off-by: Dimitar Dobrev --- .../Passes/GetterSetterToPropertyAdvancedPass.cs | 2 +- tests/CSharpTemp/CSharpTemp.cpp | 10 ++++++++++ tests/CSharpTemp/CSharpTemp.h | 14 ++++++++++++++ 3 files changed, 25 insertions(+), 1 deletion(-) diff --git a/src/Generator/Passes/GetterSetterToPropertyAdvancedPass.cs b/src/Generator/Passes/GetterSetterToPropertyAdvancedPass.cs index b6a2b980..899b86dd 100644 --- a/src/Generator/Passes/GetterSetterToPropertyAdvancedPass.cs +++ b/src/Generator/Passes/GetterSetterToPropertyAdvancedPass.cs @@ -25,7 +25,7 @@ namespace CppSharp.Passes { this.log = log; foreach (var method in @class.Methods.Where( - m => !m.IsConstructor && !m.IsDestructor && !m.IsOperator)) + m => !m.IsConstructor && !m.IsDestructor && !m.IsOperator && m.IsGenerated)) DistributeMethod(method); } diff --git a/tests/CSharpTemp/CSharpTemp.cpp b/tests/CSharpTemp/CSharpTemp.cpp index f2c1e3f2..17cbee4e 100644 --- a/tests/CSharpTemp/CSharpTemp.cpp +++ b/tests/CSharpTemp/CSharpTemp.cpp @@ -257,3 +257,13 @@ void HasPrivateOverrideBase::privateOverride(int i) void HasPrivateOverride::privateOverride(int i) { } + +IgnoredType PropertyWithIgnoredType::ignoredType() +{ + return _ignoredType; +} + +void PropertyWithIgnoredType::setIgnoredType(const IgnoredType &value) +{ + _ignoredType = value; +} diff --git a/tests/CSharpTemp/CSharpTemp.h b/tests/CSharpTemp/CSharpTemp.h index bcce5810..3d64d403 100644 --- a/tests/CSharpTemp/CSharpTemp.h +++ b/tests/CSharpTemp/CSharpTemp.h @@ -216,3 +216,17 @@ class DLL_API AbstractWithProperty public: virtual int property() = 0; }; + +template +class DLL_API IgnoredType +{ +}; + +class DLL_API PropertyWithIgnoredType +{ +public: + IgnoredType ignoredType(); + void setIgnoredType(const IgnoredType& value); +private: + IgnoredType _ignoredType; +};