From 172c219b816455446669c80b8bf99d1d07e8494a Mon Sep 17 00:00:00 2001 From: Joao Matos Date: Wed, 15 Feb 2017 22:41:41 +0000 Subject: [PATCH] Refactor namespace handling in C# generator inside VisitNamespace. --- .../Generators/CSharp/CSharpSources.cs | 23 +++++++++++++------ 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/src/Generator/Generators/CSharp/CSharpSources.cs b/src/Generator/Generators/CSharp/CSharpSources.cs index 20c79432..b41d9ce6 100644 --- a/src/Generator/Generators/CSharp/CSharpSources.cs +++ b/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 isTranslationUnit = context is TranslationUnit; @@ -199,6 +201,19 @@ namespace CppSharp.Generators.CSharp 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. foreach (var @enum in context.Enums) { @@ -289,12 +304,6 @@ namespace CppSharp.Generators.CSharp foreach(var childNamespace in context.Namespaces) childNamespace.Visit(this); - if (shouldGenerateNamespace) - { - WriteCloseBraceIndent(); - PopBlock(NewLineKind.BeforeNextBlock); - } - return true; }