X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mcs%2Fclass%2Fcorlib%2FSystem.Reflection%2FModule.cs;h=75bfc1fc74b81ec166fe66f459e7af567465e296;hb=360f2deff8855e3e6ce62b61dcdcd9e1b097ded8;hp=8cb5b609fc007f0e210b53351b3f684b89ef31a0;hpb=99c3107f1d47d707e6b7786422154292cdbcf938;p=mono.git diff --git a/mcs/class/corlib/System.Reflection/Module.cs b/mcs/class/corlib/System.Reflection/Module.cs index 8cb5b609fc0..75bfc1fc74b 100644 --- a/mcs/class/corlib/System.Reflection/Module.cs +++ b/mcs/class/corlib/System.Reflection/Module.cs @@ -48,10 +48,10 @@ namespace System.Reflection { [Serializable] [ClassInterfaceAttribute (ClassInterfaceType.None)] [StructLayout (LayoutKind.Sequential)] -#if NET_4_0 || MOONLIGHT || MOBILE - public abstract class Module : ISerializable, ICustomAttributeProvider, _Module { +#if MOBILE + public abstract class Module : ISerializable, ICustomAttributeProvider { #else - public partial class Module : ISerializable, ICustomAttributeProvider, _Module { + public abstract class Module : ISerializable, ICustomAttributeProvider, _Module { #endif public static readonly TypeFilter FilterTypeName = new TypeFilter (filter_by_type_name); public static readonly TypeFilter FilterTypeNameIgnoreCase = new TypeFilter (filter_by_type_name_ignore_case); @@ -69,11 +69,7 @@ namespace System.Reflection { const BindingFlags defaultBindingFlags = BindingFlags.Public | BindingFlags.Static | BindingFlags.Instance; -#if NET_4_0 || MOONLIGHT || MOBILE protected -#else - internal -#endif Module () { } @@ -126,10 +122,7 @@ namespace System.Reflection { [SecurityPermission (SecurityAction.LinkDemand, SerializationFormatter = true)] public virtual void GetObjectData (SerializationInfo info, StreamingContext context) { - if (info == null) - throw new ArgumentNullException ("info"); - - UnitySerializationHolder.GetModuleData (this, info, context); + throw new NotImplementedException (); } [ComVisible (true)] @@ -219,18 +212,18 @@ namespace System.Reflection { private static bool filter_by_type_name (Type m, object filterCriteria) { string s = (string)filterCriteria; - if (s.EndsWith ("*")) - return m.Name.StartsWith (s.Substring (0, s.Length - 1)); - else - return m.Name == s; + if (s.Length > 0 && s [s.Length - 1] == '*') + return m.Name.StartsWithOrdinalUnchecked (s.Substring (0, s.Length - 1)); + + return m.Name == s; } private static bool filter_by_type_name_ignore_case (Type m, object filterCriteria) { string s = (string)filterCriteria; - if (s.EndsWith ("*")) - return m.Name.ToLower ().StartsWith (s.Substring (0, s.Length - 1).ToLower ()); - else - return String.Compare (m.Name, s, true) == 0; + if (s.Length > 0 && s [s.Length - 1] == '*') + return m.Name.StartsWith (s.Substring (0, s.Length - 1), StringComparison.OrdinalIgnoreCase); + + return string.Compare (m.Name, s, StringComparison.OrdinalIgnoreCase) == 0; } [MethodImplAttribute (MethodImplOptions.InternalCall)] @@ -263,6 +256,7 @@ namespace System.Reflection { [MethodImplAttribute (MethodImplOptions.InternalCall)] internal static extern void GetPEKind (IntPtr module, out PortableExecutableKinds peKind, out ImageFileMachine machine); +#if !MOBILE void _Module.GetIDsOfNames ([In] ref Guid riid, IntPtr rgszNames, uint cNames, uint lcid, IntPtr rgDispId) { throw new NotImplementedException (); @@ -283,8 +277,8 @@ namespace System.Reflection { { throw new NotImplementedException (); } +#endif -#if NET_4_0 public override bool Equals (object o) { return o == (object) this; @@ -313,9 +307,7 @@ namespace System.Reflection { return !left.Equals (right); } -#endif -#if NET_4_0 || MOONLIGHT || MOBILE public virtual Assembly Assembly { get { throw CreateNIE (); } @@ -450,7 +442,9 @@ namespace System.Reflection { { throw CreateNIE (); } -#endif + public virtual IEnumerable CustomAttributes { + get { return GetCustomAttributesData (); } + } } }