From 7998b0f8c004fb273ae37146bd5c465aed574d63 Mon Sep 17 00:00:00 2001 From: triton Date: Mon, 8 Apr 2013 23:46:57 +0100 Subject: [PATCH] Bunch of fixes to the new line generation. --- .../Generators/CSharp/CSharpTextTemplate.cs | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/Generator/Generators/CSharp/CSharpTextTemplate.cs b/src/Generator/Generators/CSharp/CSharpTextTemplate.cs index 10c5a156..4e253fa6 100644 --- a/src/Generator/Generators/CSharp/CSharpTextTemplate.cs +++ b/src/Generator/Generators/CSharp/CSharpTextTemplate.cs @@ -155,7 +155,7 @@ namespace Cxxi.Generators.CSharp if (!GenerateTypedef(typedef)) continue; - NewLine(); + NewLineIfNeeded(); } // Generate all the struct/class declarations for the module. @@ -428,8 +428,6 @@ namespace Cxxi.Generators.CSharp } } - ResetNewLine(); - foreach (var field in @class.Fields) { if (CheckIgnoreField(@class, field)) continue; @@ -541,7 +539,7 @@ namespace Cxxi.Generators.CSharp public void GenerateClassMethods(Class @class) { - ResetNewLine(); + NewLineIfNeeded(); var staticMethods = new List(); foreach (var method in @class.Methods) @@ -579,8 +577,11 @@ namespace Cxxi.Generators.CSharp public void GenerateClassConstructors(Class @class) { + NewLineIfNeeded(); + // Output a default constructor that takes the native pointer. GenerateNativeConstructor(@class); + NeedNewLine(); foreach (var ctor in @class.Constructors) { @@ -591,8 +592,9 @@ namespace Cxxi.Generators.CSharp if (ctor.Parameters.Count == 0 && @class.IsValueType) continue; + NewLineIfNeeded(); GenerateMethod(ctor, @class); - NewLine(); + NeedNewLine(); } if (@class.IsRefType) @@ -614,7 +616,7 @@ namespace Cxxi.Generators.CSharp WriteLine("GC.SuppressFinalize(this);"); WriteCloseBraceIndent(); - NewLine(); + NeedNewLine(); } // Generate Dispose(bool) method