Browse Source

Put abstract implementations in the proper namespace.

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

6
src/Generator/Passes/GenerateAbstractImplementationsPass.cs

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

9
tests/Basic/Basic.h

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