Browse Source

Refactor namespace handling in C# generator inside VisitNamespace.

pull/818/head
Joao Matos 9 years ago
parent
commit
172c219b81
  1. 23
      src/Generator/Generators/CSharp/CSharpSources.cs

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

@ -184,8 +184,10 @@ namespace CppSharp.Generators.CSharp
} }
} }
public override bool VisitDeclContext(DeclarationContext context) public override bool VisitNamespace(Namespace @namespace)
{ {
var context = @namespace;
var isNamespace = context is Namespace; var isNamespace = context is Namespace;
var isTranslationUnit = context is TranslationUnit; var isTranslationUnit = context is TranslationUnit;
@ -199,6 +201,19 @@ namespace CppSharp.Generators.CSharp
WriteStartBraceIndent(); WriteStartBraceIndent();
} }
var ret = base.VisitNamespace(@namespace);
if (shouldGenerateNamespace)
{
WriteCloseBraceIndent();
PopBlock(NewLineKind.BeforeNextBlock);
}
return ret;
}
public override bool VisitDeclContext(DeclarationContext context)
{
// Generate all the enum declarations. // Generate all the enum declarations.
foreach (var @enum in context.Enums) foreach (var @enum in context.Enums)
{ {
@ -289,12 +304,6 @@ namespace CppSharp.Generators.CSharp
foreach(var childNamespace in context.Namespaces) foreach(var childNamespace in context.Namespaces)
childNamespace.Visit(this); childNamespace.Visit(this);
if (shouldGenerateNamespace)
{
WriteCloseBraceIndent();
PopBlock(NewLineKind.BeforeNextBlock);
}
return true; return true;
} }

Loading…
Cancel
Save