From 9cbb13053a7c492ee3af1c20932cb33cef749f2b Mon Sep 17 00:00:00 2001 From: Dimitar Dobrev Date: Sun, 25 Sep 2016 01:04:44 +0300 Subject: [PATCH] Fixed the generated code when an override has its access increased. Signed-off-by: Dimitar Dobrev --- src/Generator/Generators/CLI/CLIHeaders.cs | 2 -- src/Generator/Generators/CSharp/CSharpSources.cs | 2 -- tests/CSharp/CSharp.Tests.cs | 2 ++ tests/CSharp/CSharp.cpp | 8 ++++++++ tests/CSharp/CSharp.h | 7 +++++++ 5 files changed, 17 insertions(+), 4 deletions(-) diff --git a/src/Generator/Generators/CLI/CLIHeaders.cs b/src/Generator/Generators/CLI/CLIHeaders.cs index b8b45322..a9a23553 100644 --- a/src/Generator/Generators/CLI/CLIHeaders.cs +++ b/src/Generator/Generators/CLI/CLIHeaders.cs @@ -725,8 +725,6 @@ namespace CppSharp.Generators.CLI if (method.IsOverride) { - if (method.Access == AccessSpecifier.Private) - Write(" sealed"); Write(" override"); } diff --git a/src/Generator/Generators/CSharp/CSharpSources.cs b/src/Generator/Generators/CSharp/CSharpSources.cs index 31e3ee72..b1159fb6 100644 --- a/src/Generator/Generators/CSharp/CSharpSources.cs +++ b/src/Generator/Generators/CSharp/CSharpSources.cs @@ -2254,8 +2254,6 @@ namespace CppSharp.Generators.CSharp if (isOverride) { - if (method.Access == AccessSpecifier.Private) - Write("sealed "); Write("override "); } diff --git a/tests/CSharp/CSharp.Tests.cs b/tests/CSharp/CSharp.Tests.cs index 2fad73e2..135cad03 100644 --- a/tests/CSharp/CSharp.Tests.cs +++ b/tests/CSharp/CSharp.Tests.cs @@ -244,6 +244,8 @@ public unsafe class CSharpTests : GeneratorTestFixture { using (var hasOverridesWithChangedAccess = new HasOverridesWithChangedAccess()) hasOverridesWithChangedAccess.PrivateOverride(); + using (var hasOverridesWithIncreasedAccess = new HasOverridesWithIncreasedAccess()) + hasOverridesWithIncreasedAccess.PrivateOverride(); } [Test] diff --git a/tests/CSharp/CSharp.cpp b/tests/CSharp/CSharp.cpp index 4870775b..9c9945b2 100644 --- a/tests/CSharp/CSharp.cpp +++ b/tests/CSharp/CSharp.cpp @@ -670,6 +670,14 @@ void HasOverridesWithChangedAccess::publicOverride() { } +HasOverridesWithIncreasedAccess::HasOverridesWithIncreasedAccess() +{ +} + +void HasOverridesWithIncreasedAccess::privateOverride(int i) +{ +} + IgnoredType PropertyWithIgnoredType::ignoredType() { return _ignoredType; diff --git a/tests/CSharp/CSharp.h b/tests/CSharp/CSharp.h index a8407102..caf438db 100644 --- a/tests/CSharp/CSharp.h +++ b/tests/CSharp/CSharp.h @@ -453,6 +453,13 @@ private: virtual void privateOverride(int i); }; +class DLL_API HasOverridesWithIncreasedAccess : public HasOverridesWithChangedAccess +{ +public: + HasOverridesWithIncreasedAccess(); + virtual void privateOverride(int i); +}; + class DLL_API AbstractWithProperty { public: