Merge pull request #2250 from esdrubal/master
[mono.git] / mcs / class / corlib / System.Reflection / MonoMethod.cs
index 544774d1786061abd71dcd490fc36a4c8e4dbf4b..04c0c5670863215cc7f35d8bec6d2db80fca9b72 100644 (file)
@@ -502,9 +502,16 @@ namespace System.Reflection {
                        return CustomAttributeData.GetCustomAttributes (this);
                }
 
+#if MOBILE
+               static int get_core_clr_security_level ()
+               {
+                       return 1;
+               }
+#else
                //seclevel { transparent = 0, safe-critical = 1, critical = 2}
                [MethodImplAttribute(MethodImplOptions.InternalCall)]
                public extern int get_core_clr_security_level ();
+#endif
 
                public override bool IsSecurityTransparent {
                        get { return get_core_clr_security_level () == 0; }
@@ -751,5 +758,27 @@ namespace System.Reflection {
                public override IList<CustomAttributeData> GetCustomAttributesData () {
                        return CustomAttributeData.GetCustomAttributes (this);
                }
+
+#if MOBILE
+               static int get_core_clr_security_level ()
+               {
+                       return 1;
+               }
+#else
+               [MethodImplAttribute(MethodImplOptions.InternalCall)]
+               public extern int get_core_clr_security_level ();
+#endif
+
+               public override bool IsSecurityTransparent {
+                       get { return get_core_clr_security_level () == 0; }
+               }
+
+               public override bool IsSecurityCritical {
+                       get { return get_core_clr_security_level () > 0; }
+               }
+
+               public override bool IsSecuritySafeCritical {
+                       get { return get_core_clr_security_level () == 1; }
+               }
        }
 }