diff --git a/src/Generator/Generators/CSharp/CSharpTextTemplate.cs b/src/Generator/Generators/CSharp/CSharpTextTemplate.cs index 1478e179..f6bf0ed9 100644 --- a/src/Generator/Generators/CSharp/CSharpTextTemplate.cs +++ b/src/Generator/Generators/CSharp/CSharpTextTemplate.cs @@ -945,69 +945,6 @@ namespace CppSharp.Generators.CSharp WriteLine(");"); } - private void GenerateValueTypeConstructorCall(Method method, Class @class) - { - var names = new List(); - - foreach (var param in method.Parameters) - { - var ctx = new CSharpMarshalContext(Driver) - { - Parameter = param, - ArgName = param.Name, - }; - - var marshal = new CSharpMarshalManagedToNativePrinter(ctx); - param.Visit(marshal); - - if (!string.IsNullOrWhiteSpace(marshal.Context.SupportBefore)) - Write(marshal.Context.SupportBefore); - - names.Add(marshal.Context.Return); - } - - WriteLine("var {0} = new {1}.Internal();", GeneratedIdentifier("instance"), - @class.QualifiedName); - - GenerateInternalFunctionCall(method, @class); - - GenerateValueTypeConstructorCallFields(@class); - } - - private void GenerateValueTypeConstructorCallFields(Class @class) - { - foreach (var @base in @class.Bases) - { - if (!@base.IsClass || @base.Class.Ignore) - continue; - - var baseClass = @base.Class; - GenerateValueTypeConstructorCallFields(baseClass); - } - - foreach (var field in @class.Fields) - { - if (CheckIgnoreField(@class, field)) continue; - - var nativeField = string.Format("*({0}*) (&{1} + {2})", - field.Type, GeneratedIdentifier("instance"), field.OffsetInBytes); - - var ctx = new CSharpMarshalContext(Driver) - { - ReturnVarName = nativeField, - ReturnType = field.QualifiedType - }; - - var marshal = new CSharpMarshalNativeToManagedPrinter(ctx); - field.Visit(marshal); - - if (!string.IsNullOrWhiteSpace(marshal.Context.SupportBefore)) - Write(marshal.Context.SupportBefore); - - WriteLine("this.{0} = {1};", field.Name, marshal.Context.Return); - } - } - public void GenerateInternalFunctionCall(Function function, Class @class, List parameters = null) {