// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
+#if !FULL_AOT_RUNTIME
using System;
using System.Globalization;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
namespace System.Reflection {
+ [StructLayout (LayoutKind.Sequential)]
internal class MonoArrayMethod: MethodInfo {
+#pragma warning disable 649
internal RuntimeMethodHandle mhandle;
internal Type parent;
internal Type ret;
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;
call_conv = callingConvention;
}
- [MonoTODO]
+ [MonoTODO("Always returns this")]
public override MethodInfo GetBaseDefinition() {
return this; /* FIXME */
}
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("Not implemented. Always returns 0")]
+ internal override int GetParameterCount ()
+ {
+ return 0;
+ }
- [MonoTODO]
+ [MonoTODO("Not implemented")]
public override Object Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) {
throw new NotImplementedException ();
}
public override RuntimeMethodHandle MethodHandle {
get {return mhandle;}
}
- [MonoTODO]
+
+ [MonoTODO("Not implemented. Always returns zero")]
public override MethodAttributes Attributes {
get {
return (MethodAttributes)0;
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+")";
}
}
}
+#endif