From 49104ee0bff352d5f2874480fbd02ad4ec751514 Mon Sep 17 00:00:00 2001 From: Dimitar Dobrev Date: Wed, 26 Jul 2017 23:44:59 +0300 Subject: [PATCH] Added a test for getting bases of ignored overrides in secondary bases. Signed-off-by: Dimitar Dobrev --- tests/Common/Common.Tests.cs | 1 + tests/Common/Common.cpp | 32 ++++++++++++++++++++++++++++++++ tests/Common/Common.h | 18 ++++++++++++++++++ 3 files changed, 51 insertions(+) diff --git a/tests/Common/Common.Tests.cs b/tests/Common/Common.Tests.cs index 12aeabb4..34213632 100644 --- a/tests/Common/Common.Tests.cs +++ b/tests/Common/Common.Tests.cs @@ -45,6 +45,7 @@ public class CommonTests : GeneratorTestFixture e = EnumWithUnderscores.UsesDigits1_0; e.GetHashCode(); Common.SMallFollowedByCapital(); + using (new DerivedFromSecondaryBaseWithIgnoredVirtualMethod()) {} #pragma warning restore 0168 #pragma warning restore 0219 diff --git a/tests/Common/Common.cpp b/tests/Common/Common.cpp index b5dd96ac..8cd76318 100644 --- a/tests/Common/Common.cpp +++ b/tests/Common/Common.cpp @@ -843,3 +843,35 @@ bool HasVirtualFunctionWithBoolParams::virtualFunctionWithBoolParamAndReturnsBoo { return testBool; } + +SecondaryBaseWithIgnoredVirtualMethod::SecondaryBaseWithIgnoredVirtualMethod() +{ +} + +SecondaryBaseWithIgnoredVirtualMethod::~SecondaryBaseWithIgnoredVirtualMethod() +{ +} + +void SecondaryBaseWithIgnoredVirtualMethod::generated() +{ +} + +void SecondaryBaseWithIgnoredVirtualMethod::ignored(const IgnoredType& ignoredParam) +{ +} + +DerivedFromSecondaryBaseWithIgnoredVirtualMethod::DerivedFromSecondaryBaseWithIgnoredVirtualMethod() +{ +} + +DerivedFromSecondaryBaseWithIgnoredVirtualMethod::~DerivedFromSecondaryBaseWithIgnoredVirtualMethod() +{ +} + +void DerivedFromSecondaryBaseWithIgnoredVirtualMethod::generated() +{ +} + +void DerivedFromSecondaryBaseWithIgnoredVirtualMethod::ignored(const IgnoredType& ignoredParam) +{ +} diff --git a/tests/Common/Common.h b/tests/Common/Common.h index c6b3336a..efb9ec9d 100644 --- a/tests/Common/Common.h +++ b/tests/Common/Common.h @@ -1327,3 +1327,21 @@ protected: }; HasProtectedCtorWithProtectedParam(ProtectedEnum protectedParam); }; + +class DLL_API SecondaryBaseWithIgnoredVirtualMethod +{ +public: + SecondaryBaseWithIgnoredVirtualMethod(); + ~SecondaryBaseWithIgnoredVirtualMethod(); + virtual void generated(); + virtual void ignored(const IgnoredType& ignoredParam); +}; + +class DLL_API DerivedFromSecondaryBaseWithIgnoredVirtualMethod : public Foo, public SecondaryBaseWithIgnoredVirtualMethod +{ +public: + DerivedFromSecondaryBaseWithIgnoredVirtualMethod(); + ~DerivedFromSecondaryBaseWithIgnoredVirtualMethod(); + void generated(); + void ignored(const IgnoredType& ignoredParam); +};