Browse Source

Fixed the generated C# when a type nested in a template is forwarded.

Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
pull/1005/head
Dimitar Dobrev 8 years ago
parent
commit
10748cba2e
  1. 3
      src/Generator/Generators/CSharp/CSharpSources.cs
  2. 4
      tests/CSharp/CSharpTemplates.h

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

@ -270,7 +270,8 @@ namespace CppSharp.Generators.CSharp @@ -270,7 +270,8 @@ namespace CppSharp.Generators.CSharp
foreach (var specialization in generated)
GenerateClassInternals(specialization);
foreach (var group in generated.SelectMany(s => s.Classes).GroupBy(c => c.Name))
foreach (var group in generated.SelectMany(s => s.Classes).Where(
c => !c.IsIncomplete).GroupBy(c => c.Name))
GenerateNestedInternals(group.Key, group);
WriteCloseBraceIndent();

4
tests/CSharp/CSharpTemplates.h

@ -113,8 +113,10 @@ template <typename T> @@ -113,8 +113,10 @@ template <typename T>
class DLL_API DependentValueFields : public Base<T>
{
public:
class Nested;
class Nested
{
T field;
};
DependentValueFields();
~DependentValueFields();
@ -530,4 +532,4 @@ public: @@ -530,4 +532,4 @@ public:
};
class SpecializationOfClassWithNonTypeTemplateArgument : public ClassWithNonTypeTemplateArgument<0>
{ };
{ };

Loading…
Cancel
Save