Merge pull request #1857 from slluis/fix-assembly-resolver
[mono.git] / mcs / class / corlib / System.Runtime.InteropServices / Marshal.cs
index 1b650da569d25bda48ab02c01ab63dadb89c4d9e..8bed0815d260a9d15a98da78b35cdbbe2a62f6ba 100644 (file)
@@ -578,7 +578,7 @@ namespace System.Runtime.InteropServices
                        throw new NotImplementedException ();                   
                }
 
-#if !MOBILE
+#if !FULL_AOT_RUNTIME
                [Obsolete]
                [MonoTODO]
                public static string GetTypeInfoName (UCOMITypeInfo pTI)
@@ -979,6 +979,21 @@ namespace System.Runtime.InteropServices
                        return SizeOf (structure.GetType ());
                }
 
+               internal static uint SizeOfType (Type type)
+               {
+                       return (uint) SizeOf (type);
+               }
+
+               internal static uint AlignedSizeOf<T> () where T : struct
+               {
+                       uint size = SizeOfType (typeof (T));
+                       if (size == 1 || size == 2)
+                               return size;
+                       if (IntPtr.Size == 8 && size == 4)
+                               return size;
+                       return (size + 3) & (~((uint)3));
+               }
+
                [MethodImplAttribute(MethodImplOptions.InternalCall)]
                public extern static IntPtr StringToBSTR (string s);