Browse Source

Generate valid C++ for pure implemented dtors

Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
pull/1635/head
Dimitar Dobrev 4 years ago
parent
commit
8a75cee99f
  1. 3
      src/Generator/Passes/SymbolsCodeGenerator.cs
  2. 10
      tests/Common/Common.h

3
src/Generator/Passes/SymbolsCodeGenerator.cs

@ -400,8 +400,11 @@ namespace CppSharp.Passes @@ -400,8 +400,11 @@ namespace CppSharp.Passes
WriteLine(" };");
if (abstractDtor != null && !implementedDtors.Contains(abstractDtor))
{
if (string.IsNullOrEmpty(abstractDtor.Body))
{
WriteLine($"{abstractDtor.Namespace.Name}::{abstractDtor.Name}() {{}}");
}
implementedDtors.Add(abstractDtor);
}
}

10
tests/Common/Common.h

@ -785,6 +785,16 @@ public: @@ -785,6 +785,16 @@ public:
virtual ~PureDtor() = 0;
};
class PureImplementedDtor
{
public:
virtual ~PureImplementedDtor() = 0;
};
PureImplementedDtor::~PureImplementedDtor()
{
}
DLL_API void va_listFunction(va_list v);
struct DLL_API TestNestedTypes

Loading…
Cancel
Save