From 64c3b240a36e07eab9a810cfc42be3308778d3ba Mon Sep 17 00:00:00 2001 From: Deadlocklogic Date: Tue, 5 Dec 2023 08:07:14 +0200 Subject: [PATCH] TypeMap: cleanup patches from previous commits --- src/Generator/Types/Std/Stdlib.CLI.cs | 34 +++++++------- src/Generator/Types/Std/Stdlib.CSharp.cs | 32 ++++++------- src/Generator/Types/TypeMap.cs | 60 +++--------------------- tests/dotnet/CLI/CLI.Gen.cs | 12 ++--- tests/dotnet/CSharp/CSharp.Gen.cs | 36 +++++++------- tests/dotnet/Common/Common.Gen.cs | 12 ++--- 6 files changed, 69 insertions(+), 117 deletions(-) diff --git a/src/Generator/Types/Std/Stdlib.CLI.cs b/src/Generator/Types/Std/Stdlib.CLI.cs index 454a4523d..2f12e5b41 100644 --- a/src/Generator/Types/Std/Stdlib.CLI.cs +++ b/src/Generator/Types/Std/Stdlib.CLI.cs @@ -11,12 +11,12 @@ namespace CppSharp.Types.Std.CLI [TypeMap("const char*", GeneratorKindID = GeneratorKind.CLI_ID)] public class ConstCharPointer : TypeMap { - public override Type SignatureType(TypePrinterContext ctx, GeneratorKind kind) + public override Type SignatureType(TypePrinterContext ctx) { return new CILType(typeof(string)); } - public override void MarshalToNative(MarshalContext ctx, GeneratorKind kind) + public override void MarshalToNative(MarshalContext ctx) { ctx.Before.WriteLine( "auto _{0} = clix::marshalString({1});", @@ -25,7 +25,7 @@ public override void MarshalToNative(MarshalContext ctx, GeneratorKind kind) ctx.Return.Write("_{0}.c_str()", ctx.ArgName); } - public override void MarshalToManaged(MarshalContext ctx, GeneratorKind kind) + public override void MarshalToManaged(MarshalContext ctx) { if (ctx.Parameter != null && !ctx.Parameter.IsOut && !ctx.Parameter.IsInOut) @@ -83,18 +83,18 @@ public class ConstChar32TPointer : ConstCharPointer [TypeMap("basic_string, allocator>", GeneratorKindID = GeneratorKind.CLI_ID)] public class String : TypeMap { - public override Type SignatureType(TypePrinterContext ctx, GeneratorKind kind) + public override Type SignatureType(TypePrinterContext ctx) { return new CILType(typeof(string)); } - public override void MarshalToNative(MarshalContext ctx, GeneratorKind kind) + public override void MarshalToNative(MarshalContext ctx) { ctx.Return.Write("clix::marshalString({0})", ctx.Parameter.Name); } - public override void MarshalToManaged(MarshalContext ctx, GeneratorKind kind) + public override void MarshalToManaged(MarshalContext ctx) { ctx.Return.Write("clix::marshalString({0})", ctx.ReturnVarName); @@ -104,18 +104,18 @@ public override void MarshalToManaged(MarshalContext ctx, GeneratorKind kind) [TypeMap("std::wstring", GeneratorKindID = GeneratorKind.CLI_ID)] public class WString : TypeMap { - public override Type SignatureType(TypePrinterContext ctx, GeneratorKind kind) + public override Type SignatureType(TypePrinterContext ctx) { return new CILType(typeof(string)); } - public override void MarshalToNative(MarshalContext ctx, GeneratorKind kind) + public override void MarshalToNative(MarshalContext ctx) { ctx.Return.Write("clix::marshalString({0})", ctx.Parameter.Name); } - public override void MarshalToManaged(MarshalContext ctx, GeneratorKind kind) + public override void MarshalToManaged(MarshalContext ctx) { ctx.Return.Write("clix::marshalString({0})", ctx.ReturnVarName); @@ -143,13 +143,13 @@ public override bool IsIgnored } } - public override Type SignatureType(TypePrinterContext ctx, GeneratorKind kind) + public override Type SignatureType(TypePrinterContext ctx) { return new CustomType( $"::System::Collections::Generic::List<{ctx.GetTemplateParameterList()}>^"); } - public override void MarshalToNative(MarshalContext ctx, GeneratorKind kind) + public override void MarshalToNative(MarshalContext ctx) { var desugared = Type.Desugar(); var templateType = desugared as TemplateSpecializationType; @@ -207,7 +207,7 @@ public override void MarshalToNative(MarshalContext ctx, GeneratorKind kind) ctx.Return.Write(tmpVarName); } - public override void MarshalToManaged(MarshalContext ctx, GeneratorKind kind) + public override void MarshalToManaged(MarshalContext ctx) { var desugared = Type.Desugar(); var templateType = desugared as TemplateSpecializationType; @@ -261,19 +261,19 @@ public class Map : TypeMap { public override bool IsIgnored { get { return true; } } - public override Type SignatureType(TypePrinterContext ctx, GeneratorKind kind) + public override Type SignatureType(TypePrinterContext ctx) { var type = Type as TemplateSpecializationType; return new CustomType( $@"::System::Collections::Generic::Dictionary<{type.Arguments[0].Type}, {type.Arguments[1].Type}>^"); } - public override void MarshalToNative(MarshalContext ctx, GeneratorKind kind) + public override void MarshalToNative(MarshalContext ctx) { throw new System.NotImplementedException(); } - public override void MarshalToManaged(MarshalContext ctx, GeneratorKind kind) + public override void MarshalToManaged(MarshalContext ctx) { throw new System.NotImplementedException(); } @@ -294,12 +294,12 @@ public class SharedPtr : TypeMap [TypeMap("basic_ostream>", GeneratorKind.CLI_ID)] public class OStream : TypeMap { - public override Type SignatureType(TypePrinterContext ctx, GeneratorKind kind) + public override Type SignatureType(TypePrinterContext ctx) { return new CILType(typeof(System.IO.TextWriter)); } - public override void MarshalToNative(MarshalContext ctx, GeneratorKind kind) + public override void MarshalToNative(MarshalContext ctx) { var marshal = (CLIMarshalManagedToNativePrinter)ctx.MarshalToNative; if (!ctx.Parameter.Type.Desugar().IsPointer()) diff --git a/src/Generator/Types/Std/Stdlib.CSharp.cs b/src/Generator/Types/Std/Stdlib.CSharp.cs index 459905134..e69de8e7e 100644 --- a/src/Generator/Types/Std/Stdlib.CSharp.cs +++ b/src/Generator/Types/Std/Stdlib.CSharp.cs @@ -14,41 +14,41 @@ namespace CppSharp.Types.Std.CSharp [TypeMap("int", GeneratorKindID = GeneratorKind.CSharp_ID)] public class Int : TypeMap { - public override Type SignatureType(TypePrinterContext ctx, GeneratorKind kind) => + public override Type SignatureType(TypePrinterContext ctx) => CSharpTypePrinter.GetSignedType(Context.TargetInfo.IntWidth); } [TypeMap("unsigned int", GeneratorKindID = GeneratorKind.CSharp_ID)] public class UnsignedInt : TypeMap { - public override Type SignatureType(TypePrinterContext ctx, GeneratorKind kind) => + public override Type SignatureType(TypePrinterContext ctx) => CSharpTypePrinter.GetUnsignedType(Context.TargetInfo.IntWidth); } [TypeMap("long", GeneratorKindID = GeneratorKind.CSharp_ID)] public class Long : TypeMap { - public override Type SignatureType(TypePrinterContext ctx, GeneratorKind kind) => + public override Type SignatureType(TypePrinterContext ctx) => CSharpTypePrinter.GetSignedType(Context.TargetInfo.LongWidth); } [TypeMap("unsigned long", GeneratorKindID = GeneratorKind.CSharp_ID)] public class UnsignedLong : TypeMap { - public override Type SignatureType(TypePrinterContext ctx, GeneratorKind kind) => + public override Type SignatureType(TypePrinterContext ctx) => CSharpTypePrinter.GetUnsignedType(Context.TargetInfo.LongWidth); } [TypeMap("char", GeneratorKindID = GeneratorKind.CSharp_ID)] public class Char : TypeMap { - public override Type SignatureType(TypePrinterContext ctx, GeneratorKind kind) + public override Type SignatureType(TypePrinterContext ctx) { return new CILType(ctx.Kind == TypePrinterContextKind.Native || !Context.Options.MarshalCharAsManagedChar ? typeof(sbyte) : typeof(char)); } - public override void MarshalToNative(MarshalContext ctx, GeneratorKind kind) + public override void MarshalToNative(MarshalContext ctx) { if (Context.Options.MarshalCharAsManagedChar) ctx.Return.Write("global::System.Convert.ToSByte({0})", @@ -57,7 +57,7 @@ public override void MarshalToNative(MarshalContext ctx, GeneratorKind kind) ctx.Return.Write(ctx.Parameter.Name); } - public override void MarshalToManaged(MarshalContext ctx, GeneratorKind kind) + public override void MarshalToManaged(MarshalContext ctx) { if (Context.Options.MarshalCharAsManagedChar) ctx.Return.Write("global::System.Convert.ToChar({0})", @@ -70,7 +70,7 @@ public override void MarshalToManaged(MarshalContext ctx, GeneratorKind kind) [TypeMap("char16_t", GeneratorKindID = GeneratorKind.CSharp_ID)] public class Char16T : TypeMap { - public override Type SignatureType(TypePrinterContext ctx, GeneratorKind kind) + public override Type SignatureType(TypePrinterContext ctx) { return new CILType(typeof(char)); } @@ -79,7 +79,7 @@ public override Type SignatureType(TypePrinterContext ctx, GeneratorKind kind) [TypeMap("wchar_t", GeneratorKindID = GeneratorKind.CSharp_ID)] public class WCharT : TypeMap { - public override Type SignatureType(TypePrinterContext ctx, GeneratorKind kind) + public override Type SignatureType(TypePrinterContext ctx) { return new CILType(typeof(char)); } @@ -88,7 +88,7 @@ public override Type SignatureType(TypePrinterContext ctx, GeneratorKind kind) [TypeMap("const char*", GeneratorKindID = GeneratorKind.CSharp_ID)] public class ConstCharPointer : TypeMap { - public override Type SignatureType(TypePrinterContext ctx, GeneratorKind kind) + public override Type SignatureType(TypePrinterContext ctx) { if (ctx.Kind == TypePrinterContextKind.Managed) return new CILType(typeof(string)); @@ -117,7 +117,7 @@ public override Type SignatureType(TypePrinterContext ctx, GeneratorKind kind) $"{Context.Options.Encoding.EncodingName} is not supported yet."); } - public override void MarshalToNative(MarshalContext ctx, GeneratorKind kind) + public override void MarshalToNative(MarshalContext ctx) { string param = ctx.Parameter.Name; if (ctx.Parameter.Usage == ParameterUsage.Unknown && @@ -194,7 +194,7 @@ public override void MarshalToNative(MarshalContext ctx, GeneratorKind kind) ctx.Return.Write($"{bytePtr}"); } - public override void MarshalToManaged(MarshalContext ctx, GeneratorKind kind) + public override void MarshalToManaged(MarshalContext ctx) { if (ctx.Parameter != null && !ctx.Parameter.IsOut && !ctx.Parameter.IsInOut) @@ -304,7 +304,7 @@ public class ConstChar32TPointer : ConstCharPointer [TypeMap("basic_string, allocator>", GeneratorKindID = GeneratorKind.CSharp_ID)] public class String : TypeMap { - public override Type SignatureType(TypePrinterContext ctx, GeneratorKind kind) + public override Type SignatureType(TypePrinterContext ctx) { if (ctx.Kind == TypePrinterContextKind.Managed) return new CILType(typeof(string)); @@ -316,7 +316,7 @@ public override Type SignatureType(TypePrinterContext ctx, GeneratorKind kind) return new CustomType(basicString.Visit(typePrinter).Type); } - public override void MarshalToNative(MarshalContext ctx, GeneratorKind kind) + public override void MarshalToNative(MarshalContext ctx) { Type type = ctx.Parameter.Type.Desugar(); ClassTemplateSpecialization basicString = GetBasicString(type); @@ -361,7 +361,7 @@ public override void MarshalToNative(MarshalContext ctx, GeneratorKind kind) } } - public override void MarshalToManaged(MarshalContext ctx, GeneratorKind kind) + public override void MarshalToManaged(MarshalContext ctx) { var type = Type.Desugar(resolveTemplateSubstitution: false); ClassTemplateSpecialization basicString = GetBasicString(type); @@ -415,7 +415,7 @@ private static ClassTemplateSpecialization GetBasicString(Type type) [TypeMap("FILE", GeneratorKindID = GeneratorKind.CSharp_ID)] public class FILE : TypeMap { - public override Type SignatureType(TypePrinterContext ctx, GeneratorKind kind) + public override Type SignatureType(TypePrinterContext ctx) { return new CILType(typeof(System.IntPtr)); } diff --git a/src/Generator/Types/TypeMap.cs b/src/Generator/Types/TypeMap.cs index 4506ad7f4..5f701c6c4 100644 --- a/src/Generator/Types/TypeMap.cs +++ b/src/Generator/Types/TypeMap.cs @@ -2,10 +2,7 @@ using CppSharp.AST; using CppSharp.Generators; using CppSharp.Generators.AST; -using CppSharp.Generators.C; using CppSharp.Generators.CLI; -using CppSharp.Generators.Cpp; -using CppSharp.Generators.CSharp; using Attribute = System.Attribute; using Type = CppSharp.AST.Type; @@ -51,64 +48,19 @@ public class TypeMap /// public virtual bool DoesMarshalling => true; - public Type SignatureType(TypePrinterContext ctx) + public virtual Type SignatureType(TypePrinterContext ctx) { - return SignatureType(ctx, Context.Options.GeneratorKind); + return new CILType(typeof(object)); } - public virtual Type SignatureType(TypePrinterContext ctx, GeneratorKind kind) + public virtual void MarshalToNative(MarshalContext ctx) { - switch (kind) - { - case var _ when ReferenceEquals(kind, GeneratorKind.C): - case var _ when ReferenceEquals(kind, GeneratorKind.CPlusPlus): - case var _ when ReferenceEquals(kind, GeneratorKind.CLI): - case var _ when ReferenceEquals(kind, GeneratorKind.CSharp): - return new CILType(typeof(object)); - default: - throw new System.NotImplementedException(); - } + ctx.Return.Write(ctx.Parameter.Name); } - public void MarshalToNative(MarshalContext ctx) + public virtual void MarshalToManaged(MarshalContext ctx) { - MarshalToNative(ctx, Context.Options.GeneratorKind); - } - - public virtual void MarshalToNative(MarshalContext ctx, GeneratorKind kind) - { - kind ??= Context.Options.GeneratorKind; - switch (kind) - { - case var _ when ReferenceEquals(kind, GeneratorKind.C): - case var _ when ReferenceEquals(kind, GeneratorKind.CPlusPlus): - case var _ when ReferenceEquals(kind, GeneratorKind.CLI): - case var _ when ReferenceEquals(kind, GeneratorKind.CSharp): - ctx.Return.Write(ctx.Parameter.Name); - return; - default: - throw new System.NotImplementedException(); - } - } - - public void MarshalToManaged(MarshalContext ctx) - { - MarshalToManaged(ctx, Context.Options.GeneratorKind); - } - - public virtual void MarshalToManaged(MarshalContext ctx, GeneratorKind kind) - { - switch (kind) - { - case var _ when ReferenceEquals(kind, GeneratorKind.C): - case var _ when ReferenceEquals(kind, GeneratorKind.CPlusPlus): - case var _ when ReferenceEquals(kind, GeneratorKind.CLI): - case var _ when ReferenceEquals(kind, GeneratorKind.CSharp): - ctx.Return.Write(ctx.ReturnVarName); - return; - default: - throw new System.NotImplementedException(); - } + ctx.Return.Write(ctx.ReturnVarName); } #region C# backend diff --git a/tests/dotnet/CLI/CLI.Gen.cs b/tests/dotnet/CLI/CLI.Gen.cs index 5a5d25c7a..586fd4339 100644 --- a/tests/dotnet/CLI/CLI.Gen.cs +++ b/tests/dotnet/CLI/CLI.Gen.cs @@ -9,12 +9,12 @@ namespace CppSharp.Tests [TypeMap("IgnoredClassTemplateForEmployee", GeneratorKindID = GeneratorKind.CLI_ID)] public class IgnoredClassTemplateForEmployeeMap : TypeMap { - public override Type SignatureType(TypePrinterContext ctx, GeneratorKind kind) + public override Type SignatureType(TypePrinterContext ctx) { return new CustomType("CLI::Employee^"); } - public override void MarshalToManaged(MarshalContext ctx, GeneratorKind kind) + public override void MarshalToManaged(MarshalContext ctx) { ctx.Return.Write($"gcnew CLI::Employee({ctx.ReturnVarName}.m_employee)"); } @@ -25,17 +25,17 @@ namespace CLI [TypeMap("TestMappedTypeNonConstRefParam", GeneratorKindID = GeneratorKind.CLI_ID)] public class TestMappedTypeNonConstRefParamTypeMap : TypeMap { - public override Type SignatureType(TypePrinterContext ctx, GeneratorKind kind) + public override Type SignatureType(TypePrinterContext ctx) { return new CILType(typeof(string)); } - public override void MarshalToManaged(MarshalContext ctx, GeneratorKind kind) + public override void MarshalToManaged(MarshalContext ctx) { ctx.Return.Write("clix::marshalString({0}.m_str)", ctx.ReturnVarName); } - public override void MarshalToNative(MarshalContext ctx, GeneratorKind kind) + public override void MarshalToNative(MarshalContext ctx) { if (ctx.Parameter.Usage == ParameterUsage.InOut) { @@ -57,7 +57,7 @@ namespace Cpp [TypeMap("TestMappedTypeNonConstRefParam", GeneratorKindID = GeneratorKind.CPlusPlus_ID)] public class TestMappedTypeNonConstRefParamTypeMap : TypeMap { - public override Type SignatureType(TypePrinterContext ctx, GeneratorKind kind) + public override Type SignatureType(TypePrinterContext ctx) { var tagType = ctx.Type as TagType; var typePrinter = new CppTypePrinter(Context); diff --git a/tests/dotnet/CSharp/CSharp.Gen.cs b/tests/dotnet/CSharp/CSharp.Gen.cs index 362b8cdb4..5c9f45cef 100644 --- a/tests/dotnet/CSharp/CSharp.Gen.cs +++ b/tests/dotnet/CSharp/CSharp.Gen.cs @@ -120,17 +120,17 @@ public override bool VisitFunctionDecl(Function function) [TypeMap("boolean_t")] public class BooleanTypeMap : TypeMap { - public override Type SignatureType(TypePrinterContext ctx, GeneratorKind kind) + public override Type SignatureType(TypePrinterContext ctx) { return new BuiltinType(PrimitiveType.Bool); } - public override void MarshalToNative(MarshalContext ctx, GeneratorKind kind) + public override void MarshalToNative(MarshalContext ctx) { ctx.Return.Write(ctx.Parameter.Name); } - public override void MarshalToManaged(MarshalContext ctx, GeneratorKind kind) + public override void MarshalToManaged(MarshalContext ctx) { ctx.Return.Write(ctx.ReturnVarName); } @@ -144,12 +144,12 @@ public override string CSharpConstruct() return string.Empty; } - public override Type SignatureType(TypePrinterContext ctx, GeneratorKind kind) + public override Type SignatureType(TypePrinterContext ctx) { return GetEnumType(ctx.Type); } - public override void MarshalToNative(MarshalContext ctx, GeneratorKind kind) + public override void MarshalToNative(MarshalContext ctx) { if (ctx.Parameter.Type.Desugar().IsAddress()) ctx.Return.Write("new global::System.IntPtr(&{0})", ctx.Parameter.Name); @@ -157,7 +157,7 @@ public override void MarshalToNative(MarshalContext ctx, GeneratorKind kind) ctx.Return.Write(ctx.Parameter.Name); } - public override void MarshalToManaged(MarshalContext ctx, GeneratorKind kind) + public override void MarshalToManaged(MarshalContext ctx) { if (ctx.ReturnType.Type.Desugar().IsAddress()) { @@ -196,17 +196,17 @@ public override string CSharpConstruct() return string.Empty; } - public override Type SignatureType(TypePrinterContext ctx, GeneratorKind kind) + public override Type SignatureType(TypePrinterContext ctx) { return new TagType(flags ?? (flags = Context.ASTContext.FindEnum("Flags").First())); } - public override void MarshalToNative(MarshalContext ctx, GeneratorKind kind) + public override void MarshalToNative(MarshalContext ctx) { ctx.Return.Write(ctx.Parameter.Name); } - public override void MarshalToManaged(MarshalContext ctx, GeneratorKind kind) + public override void MarshalToManaged(MarshalContext ctx) { ctx.Return.Write(ctx.ReturnVarName); } @@ -229,7 +229,7 @@ public override bool IsIgnored } } - public override Type SignatureType(TypePrinterContext ctx, GeneratorKind kind) + public override Type SignatureType(TypePrinterContext ctx) { if (ctx.Kind == TypePrinterContextKind.Native) { @@ -249,7 +249,7 @@ public override Type SignatureType(TypePrinterContext ctx, GeneratorKind kind) ctx.GetTemplateParameterList()}>"); } - public override void MarshalToNative(MarshalContext ctx, GeneratorKind kind) + public override void MarshalToNative(MarshalContext ctx) { // pointless, put just so that the generated code compiles var type = (TemplateSpecializationType)ctx.Parameter.Type.Desugar(); @@ -259,7 +259,7 @@ public override void MarshalToNative(MarshalContext ctx, GeneratorKind kind) ctx.Return.Write("new {0}()", specialization.Visit(typePrinter)); } - public override void MarshalToManaged(MarshalContext ctx, GeneratorKind kind) + public override void MarshalToManaged(MarshalContext ctx) { ctx.Return.Write(ctx.ReturnVarName); } @@ -268,18 +268,18 @@ public override void MarshalToManaged(MarshalContext ctx, GeneratorKind kind) [TypeMap("TypeMappedWithOperator")] public class TypeMappedWithOperator : TypeMap { - public override Type SignatureType(TypePrinterContext ctx, GeneratorKind kind) + public override Type SignatureType(TypePrinterContext ctx) { // doesn't matter, we just need it to compile return new BuiltinType(PrimitiveType.Int); } - public override void MarshalToNative(MarshalContext ctx, GeneratorKind kind) + public override void MarshalToNative(MarshalContext ctx) { ctx.Return.Write(ctx.Parameter.Name); } - public override void MarshalToManaged(MarshalContext ctx, GeneratorKind kind) + public override void MarshalToManaged(MarshalContext ctx) { ctx.Return.Write(ctx.ReturnVarName); } @@ -288,7 +288,7 @@ public override void MarshalToManaged(MarshalContext ctx, GeneratorKind kind) [TypeMap("QString")] public class QString : TypeMap { - public override Type SignatureType(TypePrinterContext ctx, GeneratorKind kind) + public override Type SignatureType(TypePrinterContext ctx) { if (ctx.Kind == TypePrinterContextKind.Native) { @@ -299,13 +299,13 @@ public override Type SignatureType(TypePrinterContext ctx, GeneratorKind kind) return new CILType(typeof(string)); } - public override void MarshalToNative(MarshalContext ctx, GeneratorKind kind) + public override void MarshalToNative(MarshalContext ctx) { ctx.Return.Write(ctx.Parameter.Type.Desugar().IsAddress() ? "global::System.IntPtr.Zero" : "\"test\""); } - public override void MarshalToManaged(MarshalContext ctx, GeneratorKind kind) + public override void MarshalToManaged(MarshalContext ctx) { ctx.Return.Write("\"test\""); } diff --git a/tests/dotnet/Common/Common.Gen.cs b/tests/dotnet/Common/Common.Gen.cs index 338f01b37..08bf971f1 100644 --- a/tests/dotnet/Common/Common.Gen.cs +++ b/tests/dotnet/Common/Common.Gen.cs @@ -12,17 +12,17 @@ namespace CLI [TypeMap("TypeMappedIndex", GeneratorKindID = GeneratorKind.CLI_ID)] public class TypeMappedIndex : TypeMap { - public override Type SignatureType(TypePrinterContext ctx, GeneratorKind kind) + public override Type SignatureType(TypePrinterContext ctx) { return new BuiltinType(PrimitiveType.UShort); } - public override void MarshalToManaged(MarshalContext ctx, GeneratorKind kind) + public override void MarshalToManaged(MarshalContext ctx) { ctx.Return.Write(ctx.ReturnVarName); } - public override void MarshalToNative(MarshalContext ctx, GeneratorKind kind) + public override void MarshalToNative(MarshalContext ctx) { ctx.Return.Write("::TypeMappedIndex()"); } @@ -34,17 +34,17 @@ namespace CSharp [TypeMap("TypeMappedIndex", GeneratorKindID = GeneratorKind.CSharp_ID)] public class TypeMappedIndex : TypeMap { - public override Type SignatureType(TypePrinterContext ctx, GeneratorKind kind) + public override Type SignatureType(TypePrinterContext ctx) { return new BuiltinType(PrimitiveType.UShort); } - public override void MarshalToManaged(MarshalContext ctx, GeneratorKind kind) + public override void MarshalToManaged(MarshalContext ctx) { ctx.Return.Write(ctx.ReturnVarName); } - public override void MarshalToNative(MarshalContext ctx, GeneratorKind kind) + public override void MarshalToNative(MarshalContext ctx) { ctx.Return.Write("IntPtr.Zero"); }