Warnings cleanup
[mono.git] / mcs / class / corlib / System.Reflection.Emit / MonoArrayMethod.cs
index 68aaedb18324d20554911c3d159b9efd357514ba..a64112f7c4236c6a3e5ba2c7002d2d63de86939d 100644 (file)
@@ -38,6 +38,7 @@ using System.Runtime.InteropServices;
 
 namespace System.Reflection {
        internal class MonoArrayMethod: MethodInfo {
+#pragma warning disable 649
                internal RuntimeMethodHandle mhandle;
                internal Type parent;
                internal Type ret;
@@ -45,6 +46,7 @@ namespace System.Reflection {
                internal string name;
                internal int table_idx;
                internal CallingConventions call_conv;
+#pragma warning restore 649            
 
                internal MonoArrayMethod (Type arrayClass, string methodName, CallingConventions callingConvention, Type returnType, Type[] parameterTypes) {
                        name = methodName;
@@ -54,7 +56,7 @@ namespace System.Reflection {
                        call_conv = callingConvention;
                }
                
-               [MonoTODO]
+               [MonoTODO("Always returns this")]
                public override MethodInfo GetBaseDefinition() {
                        return this; /* FIXME */
                }
@@ -63,22 +65,23 @@ namespace System.Reflection {
                                return ret;
                        }
                }
-               [MonoTODO]
+
+               [MonoTODO("Not implemented.  Always returns null")]
                public override ICustomAttributeProvider ReturnTypeCustomAttributes { 
                        get {return null;}
                }
                
-               [MonoTODO]
+               [MonoTODO("Not implemented.  Always returns zero")]
                public override MethodImplAttributes GetMethodImplementationFlags() {
                        return (MethodImplAttributes)0;
                }
 
-               [MonoTODO]
+               [MonoTODO("Not implemented.  Always returns an empty array")]
                public override ParameterInfo[] GetParameters() {
                        return new ParameterInfo [0];
                }
 
-               [MonoTODO]
+               [MonoTODO("Not implemented")]
                public override Object Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) {
                        throw new NotImplementedException ();
                }
@@ -86,7 +89,8 @@ namespace System.Reflection {
                public override RuntimeMethodHandle MethodHandle { 
                        get {return mhandle;} 
                }
-               [MonoTODO]
+
+               [MonoTODO("Not implemented.  Always returns zero")]
                public override MethodAttributes Attributes { 
                        get {
                                return (MethodAttributes)0;
@@ -128,7 +132,10 @@ namespace System.Reflection {
                                        parms = parms + ", ";
                                parms = parms + p [i].ParameterType.Name;
                        }
-                       return ReturnType.Name+" "+Name+"("+parms+")";
+                       if (ReturnType != null)
+                               return ReturnType.Name+" "+Name+"("+parms+")";
+                       else
+                               return "void "+Name+"("+parms+")";
                }
        }
 }