Browse Source

Put abstract implementations in the proper namespace.

pull/219/merge
Elias Holzer 12 years ago committed by triton
parent
commit
7596ea4b0e
  1. 4
      src/Generator/Passes/GenerateAbstractImplementationsPass.cs
  2. 9
      tests/Basic/Basic.h

4
src/Generator/Passes/GenerateAbstractImplementationsPass.cs

@ -26,6 +26,10 @@ namespace CppSharp.Passes
public override bool VisitTranslationUnit(TranslationUnit unit) public override bool VisitTranslationUnit(TranslationUnit unit)
{ {
var result = base.VisitTranslationUnit(unit); var result = base.VisitTranslationUnit(unit);
foreach (var internalImpl in internalImpls)
if (internalImpl.Namespace != null)
internalImpl.Namespace.Classes.Add(internalImpl);
else
unit.Classes.AddRange(internalImpls); unit.Classes.AddRange(internalImpls);
internalImpls.Clear(); internalImpls.Clear();

9
tests/Basic/Basic.h

@ -315,3 +315,12 @@ SomeStruct;
class SomeClassExtendingTheStruct : public SomeStruct class SomeClassExtendingTheStruct : public SomeStruct
{ {
}; };
namespace SomeNamespace
{
class AbstractClass
{
public:
virtual void AbstractMethod() = 0;
};
}
Loading…
Cancel
Save