Merge pull request #495 from nicolas-raoul/fix-for-issue2907-with-no-formatting-changes
[mono.git] / mcs / class / corlib / System.Reflection / MethodBase.cs
index 909842136b463db3233cb08f569c3d32570bbad0..1f62fe62fde273337a53f83be994e2c3db751001 100644 (file)
@@ -6,6 +6,7 @@
 //
 // (C) 2001 Ximian, Inc.  http://www.ximian.com
 // Copyright (C) 2004-2005 Novell, Inc (http://www.novell.com)
+// Copyright 2011 Xamarin Inc (http://www.xamarin.com).
 //
 // Permission is hereby granted, free of charge, to any person obtaining
 // a copy of this software and associated documentation files (the
@@ -29,7 +30,9 @@
 
 using System.Diagnostics;
 using System.Globalization;
+#if !FULL_AOT_RUNTIME
 using System.Reflection.Emit;
+#endif
 using System.Runtime.CompilerServices;
 using System.Runtime.InteropServices;
 
@@ -90,6 +93,10 @@ namespace System.Reflection {
                        throw new NotImplementedException ("must be implemented");
                }
 
+               internal virtual Type GetParameterType (int pos) {
+                       throw new NotImplementedException ();
+               }
+
                [DebuggerHidden]
                [DebuggerStepThrough]           
                public Object Invoke(Object obj, Object[] parameters) {
@@ -176,6 +183,7 @@ namespace System.Reflection {
                }
 
                internal virtual int get_next_table_index (object obj, int table, bool inc) {
+#if !FULL_AOT_RUNTIME
                        if (this is MethodBuilder) {
                                MethodBuilder mb = (MethodBuilder)this;
                                return mb.get_next_table_index (obj, table, inc);
@@ -184,6 +192,7 @@ namespace System.Reflection {
                                ConstructorBuilder mb = (ConstructorBuilder)this;
                                return mb.get_next_table_index (obj, table, inc);
                        }
+#endif
                        throw new Exception ("Method is not a builder method");
                }
 
@@ -222,7 +231,6 @@ namespace System.Reflection {
                        throw new NotSupportedException ();
                }
 
-
 #if NET_4_0
                public override bool Equals (object obj)
                {
@@ -251,6 +259,24 @@ namespace System.Reflection {
                                return true;
                        return !left.Equals (right);
                }
+               
+               public virtual bool IsSecurityCritical {
+                       get {
+                               throw new NotImplementedException ();
+                       }
+               }
+               
+               public virtual bool IsSecuritySafeCritical {
+                       get {
+                               throw new NotImplementedException ();
+                       }
+               }
+
+               public virtual bool IsSecurityTransparent {
+                       get {
+                               throw new NotImplementedException ();
+                       }
+               }
 #endif
 
                void _MethodBase.GetIDsOfNames ([In] ref Guid riid, IntPtr rgszNames, uint cNames, uint lcid, IntPtr rgDispId)