From 24392d01eaee7a7d7e0fcd0646fc3e14fdd4406b Mon Sep 17 00:00:00 2001 From: Andrii Kurdiumov Date: Sun, 15 Aug 2021 20:27:58 +0600 Subject: [PATCH] Make usage of Marshal.OffsetOf AOT friendly --- Source/Libs/GLibSharp/HookList.cs | 10 +++++----- Source/Libs/GLibSharp/Object.cs | 6 +++--- Source/Tools/GapiCodegen/StructABIField.cs | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Source/Libs/GLibSharp/HookList.cs b/Source/Libs/GLibSharp/HookList.cs index 7af30e4e3..1e90bdf81 100644 --- a/Source/Libs/GLibSharp/HookList.cs +++ b/Source/Libs/GLibSharp/HookList.cs @@ -18,7 +18,7 @@ namespace GLib { , (uint) sizeof (ulong) // seq_id , null , "hook_size" - , (long) Marshal.OffsetOf(typeof(GHookList_seq_idAlign), "seq_id") + , (long) Marshal.OffsetOf("seq_id") , 0 ), new GLib.AbiField("hook_size" @@ -42,7 +42,7 @@ namespace GLib { , (uint) sizeof (IntPtr) // hooks , "is_setup" , "dummy3" - , (long) Marshal.OffsetOf(typeof(GHookList_hooksAlign), "hooks") + , (long) Marshal.OffsetOf("hooks") , 0 ), new GLib.AbiField("dummy3" @@ -50,7 +50,7 @@ namespace GLib { , (uint) sizeof (IntPtr) // dummy3 , "hooks" , "finalize_hook" - , (long) Marshal.OffsetOf(typeof(GHookList_dummy3Align), "dummy3") + , (long) Marshal.OffsetOf("dummy3") , 0 ), new GLib.AbiField("finalize_hook" @@ -58,7 +58,7 @@ namespace GLib { , (uint) sizeof (IntPtr) // finalize_hook , "dummy3" , "dummy" - , (long) Marshal.OffsetOf(typeof(GHookList_finalize_hookAlign), "finalize_hook") + , (long) Marshal.OffsetOf("finalize_hook") , 0 ), new GLib.AbiField("dummy" @@ -66,7 +66,7 @@ namespace GLib { , (uint) sizeof (IntPtr) * 2 // dummy , "finalize_hook" , null - , (long) Marshal.OffsetOf(typeof(GHookList_dummyAlign), "dummy") + , (long) Marshal.OffsetOf("dummy") , 0 ) } diff --git a/Source/Libs/GLibSharp/Object.cs b/Source/Libs/GLibSharp/Object.cs index e75638754..7bdfb98b8 100644 --- a/Source/Libs/GLibSharp/Object.cs +++ b/Source/Libs/GLibSharp/Object.cs @@ -942,7 +942,7 @@ namespace GLib { , (uint) sizeof (IntPtr) // g_type_instance , null , "ref_count" - , (long) Marshal.OffsetOf(typeof(GObject_g_type_instanceAlign), "g_type_instance") + , (long) Marshal.OffsetOf("g_type_instance") , 0 ), new GLib.AbiField("ref_count" @@ -950,7 +950,7 @@ namespace GLib { , (uint) sizeof (uint) // ref_count , "g_type_instance" , "qdata" - , (long) Marshal.OffsetOf(typeof(GObject_ref_countAlign), "ref_count") + , (long) Marshal.OffsetOf("ref_count") , 0 ), new GLib.AbiField("qdata" @@ -958,7 +958,7 @@ namespace GLib { , (uint) sizeof (IntPtr) // qdata , "ref_count" , null - , (long) Marshal.OffsetOf(typeof(GObject_qdataAlign), "qdata") + , (long) Marshal.OffsetOf("qdata") , 0 ), } diff --git a/Source/Tools/GapiCodegen/StructABIField.cs b/Source/Tools/GapiCodegen/StructABIField.cs index 61f4f8965..36d5ecfc4 100644 --- a/Source/Tools/GapiCodegen/StructABIField.cs +++ b/Source/Tools/GapiCodegen/StructABIField.cs @@ -122,7 +122,7 @@ namespace GtkSharp.Generation { var fieldname = SymbolTable.Table.MangleName (CName).Replace(".", "_"); if (IsArray && IsNullTermArray) fieldname += "Ptr"; - sw.WriteLine(indent + ", (long) Marshal.OffsetOf(typeof(" + alig_struct_name + "), \"" + fieldname + "\")"); + sw.WriteLine(indent + ", (long) Marshal.OffsetOf<" + alig_struct_name + ">(\"" + fieldname + "\")"); } else { sw.WriteLine(indent + ", " + min_align); }