Browse Source

Generate valid C# for classes with dependent fields nested in templates with independent fields

Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
update-llvm
Dimitar Dobrev 3 years ago
parent
commit
69e766be5d
  1. 2
      src/Generator/Generators/CSharp/CSharpSources.cs
  2. 5
      tests/CSharp/CSharpTemplates.h

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

@ -333,7 +333,7 @@ namespace CppSharp.Generators.CSharp @@ -333,7 +333,7 @@ namespace CppSharp.Generators.CSharp
foreach (var specialization in generated.KeepSingleAllPointersSpecialization())
GenerateClassInternals(specialization);
foreach (var group in generated.SelectMany(s => s.Classes).Where(
foreach (var group in specializations.SelectMany(s => s.Classes).Where(
c => !c.IsIncomplete).GroupBy(c => c.Name))
{
var nested = classTemplate.Classes.FirstOrDefault(c => c.Name == group.Key);

5
tests/CSharp/CSharpTemplates.h

@ -85,6 +85,11 @@ class IndependentFields : public T1 @@ -85,6 +85,11 @@ class IndependentFields : public T1
{
typedef T Type;
public:
class Nested
{
private:
T field;
};
IndependentFields();
IndependentFields(const IndependentFields<T>& other);
IndependentFields(const T& t);

Loading…
Cancel
Save