* attribute.cs (GetMarshal): Work even if "DefineCustom" is
authorRaja R Harinath <harinath@hurrynot.org>
Fri, 2 Sep 2005 12:23:49 +0000 (12:23 -0000)
committerRaja R Harinath <harinath@hurrynot.org>
Fri, 2 Sep 2005 12:23:49 +0000 (12:23 -0000)
internal.

svn path=/trunk/mcs/; revision=49341

mcs/mcs/ChangeLog
mcs/mcs/attribute.cs

index d80fbb9058584275a0b7e66d975a7eb225851b79..39db7c060f4dabcd28d7192a6729a67bf9ae886b 100644 (file)
@@ -1,5 +1,8 @@
 2005-09-02  Raja R Harinath  <rharinath@novell.com>
 
+       * attribute.cs (GetMarshal): Work even if "DefineCustom" is
+       internal.
+
        Fix #75941.
        * ecore.cs (SimpleNameResolve.DoSimpleNameResolve): Disable
        flow-branching for LocalVariableReferences in case we were invoked
index a30e005afa00a4c77e37a9c556b3906349fafe2d..af8e518fcf37b18e13105ee85ebbdf167f6b49e4 100644 (file)
@@ -950,7 +950,7 @@ namespace Mono.CSharp {
                {
                        UnmanagedType UnmanagedType;
                        if (!RootContext.StdLib || pos_values [0].GetType () != typeof (UnmanagedType))
-                               UnmanagedType = (UnmanagedType)System.Enum.ToObject (typeof (UnmanagedType), pos_values [0]);
+                               UnmanagedType = (UnmanagedType) System.Enum.ToObject (typeof (UnmanagedType), pos_values [0]);
                        else
                                UnmanagedType = (UnmanagedType) pos_values [0];
 
@@ -962,11 +962,11 @@ namespace Mono.CSharp {
 
                        object o = GetFieldValue ("ArraySubType");
                        UnmanagedType array_sub_type = o == null ? (UnmanagedType) 0x50 /* NATIVE_MAX */ : (UnmanagedType) o;
-                       
+
                        switch (UnmanagedType) {
                        case UnmanagedType.CustomMarshaler: {
                                MethodInfo define_custom = typeof (UnmanagedMarshal).GetMethod ("DefineCustom",
-                                                                       BindingFlags.Static | BindingFlags.Public);
+                                       BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic);
                                if (define_custom == null) {
                                        Report.RuntimeMissingSupport (Location, "set marshal info");
                                        return null;
@@ -984,7 +984,8 @@ namespace Mono.CSharp {
                                object size_param_index = GetFieldValue ("SizeParamIndex");
 
                                if ((size_const != null) || (size_param_index != null)) {
-                                       MethodInfo define_array = typeof (UnmanagedMarshal).GetMethod ("DefineLPArrayInternal", BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic);
+                                       MethodInfo define_array = typeof (UnmanagedMarshal).GetMethod ("DefineLPArrayInternal",
+                                               BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic);
                                        if (define_array == null) {
                                                Report.RuntimeMissingSupport (Location, "set marshal info");
                                                return null;
@@ -1001,7 +1002,7 @@ namespace Mono.CSharp {
                        }
                        case UnmanagedType.SafeArray:
                                return UnmanagedMarshal.DefineSafeArray (array_sub_type);
-                       
+
                        case UnmanagedType.ByValArray:
                                FieldMember fm = attr as FieldMember;
                                if (fm == null) {
@@ -1009,10 +1010,10 @@ namespace Mono.CSharp {
                                        return null;
                                }
                                return UnmanagedMarshal.DefineByValArray ((int) GetFieldValue ("SizeConst"));
-                       
+
                        case UnmanagedType.ByValTStr:
                                return UnmanagedMarshal.DefineByValTStr ((int) GetFieldValue ("SizeConst"));
-                       
+
                        default:
                                return UnmanagedMarshal.DefineUnmanagedMarshal (UnmanagedType);
                        }