Browse Source

Fixed the generated code when an override has its access increased.

Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
pull/696/head
Dimitar Dobrev 9 years ago
parent
commit
9cbb13053a
  1. 2
      src/Generator/Generators/CLI/CLIHeaders.cs
  2. 2
      src/Generator/Generators/CSharp/CSharpSources.cs
  3. 2
      tests/CSharp/CSharp.Tests.cs
  4. 8
      tests/CSharp/CSharp.cpp
  5. 7
      tests/CSharp/CSharp.h

2
src/Generator/Generators/CLI/CLIHeaders.cs

@ -725,8 +725,6 @@ namespace CppSharp.Generators.CLI
if (method.IsOverride) if (method.IsOverride)
{ {
if (method.Access == AccessSpecifier.Private)
Write(" sealed");
Write(" override"); Write(" override");
} }

2
src/Generator/Generators/CSharp/CSharpSources.cs

@ -2254,8 +2254,6 @@ namespace CppSharp.Generators.CSharp
if (isOverride) if (isOverride)
{ {
if (method.Access == AccessSpecifier.Private)
Write("sealed ");
Write("override "); Write("override ");
} }

2
tests/CSharp/CSharp.Tests.cs

@ -244,6 +244,8 @@ public unsafe class CSharpTests : GeneratorTestFixture
{ {
using (var hasOverridesWithChangedAccess = new HasOverridesWithChangedAccess()) using (var hasOverridesWithChangedAccess = new HasOverridesWithChangedAccess())
hasOverridesWithChangedAccess.PrivateOverride(); hasOverridesWithChangedAccess.PrivateOverride();
using (var hasOverridesWithIncreasedAccess = new HasOverridesWithIncreasedAccess())
hasOverridesWithIncreasedAccess.PrivateOverride();
} }
[Test] [Test]

8
tests/CSharp/CSharp.cpp

@ -670,6 +670,14 @@ void HasOverridesWithChangedAccess::publicOverride()
{ {
} }
HasOverridesWithIncreasedAccess::HasOverridesWithIncreasedAccess()
{
}
void HasOverridesWithIncreasedAccess::privateOverride(int i)
{
}
IgnoredType<int> PropertyWithIgnoredType::ignoredType() IgnoredType<int> PropertyWithIgnoredType::ignoredType()
{ {
return _ignoredType; return _ignoredType;

7
tests/CSharp/CSharp.h

@ -453,6 +453,13 @@ private:
virtual void privateOverride(int i); virtual void privateOverride(int i);
}; };
class DLL_API HasOverridesWithIncreasedAccess : public HasOverridesWithChangedAccess
{
public:
HasOverridesWithIncreasedAccess();
virtual void privateOverride(int i);
};
class DLL_API AbstractWithProperty class DLL_API AbstractWithProperty
{ {
public: public:

Loading…
Cancel
Save