From 866628f955ec64abfd18316040236dc6640712d2 Mon Sep 17 00:00:00 2001 From: triton Date: Mon, 8 Apr 2013 23:38:23 +0100 Subject: [PATCH] Extract the native constructor generation code to its own method. --- .../Generators/CSharp/CSharpTextTemplate.cs | 34 +++++++++++-------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/src/Generator/Generators/CSharp/CSharpTextTemplate.cs b/src/Generator/Generators/CSharp/CSharpTextTemplate.cs index 49d230da..ec96b60e 100644 --- a/src/Generator/Generators/CSharp/CSharpTextTemplate.cs +++ b/src/Generator/Generators/CSharp/CSharpTextTemplate.cs @@ -580,21 +580,7 @@ namespace Cxxi.Generators.CSharp public void GenerateClassConstructors(Class @class) { // Output a default constructor that takes the native pointer. - WriteLine("{0}(System.IntPtr native)", SafeIdentifier(@class.Name)); - WriteStartBraceIndent(); - - if (@class.IsRefType) - { - if (ShouldGenerateClassNativeField(@class)) - WriteLine("Instance = native;"); - } - else - { - GenerateStructMarshaling(@class); - } - - WriteCloseBraceIndent(); - NewLine(); + GenerateNativeConstructor(@class); foreach (var ctor in @class.Constructors) { @@ -622,6 +608,24 @@ namespace Cxxi.Generators.CSharp } } + private void GenerateNativeConstructor(Class @class) + { + WriteLine("internal {0}(System.IntPtr native)", SafeIdentifier(@class.Name)); + WriteStartBraceIndent(); + + if (@class.IsRefType) + { + if (ShouldGenerateClassNativeField(@class)) + WriteLine("Instance = native;"); + } + else + { + GenerateStructMarshaling(@class); + } + + WriteCloseBraceIndent(); + } + private bool GenerateClassConstructorBase(Class @class, Method method) { var hasBase = @class.HasBase && !@class.Bases[0].Class.Ignore;