2004-03-29 Martin Baulig <martin@ximian.com>
authorMartin Baulig <martin@novell.com>
Tue, 30 Mar 2004 00:25:53 +0000 (00:25 -0000)
committerMartin Baulig <martin@novell.com>
Tue, 30 Mar 2004 00:25:53 +0000 (00:25 -0000)
* icall.c (ves_icall_MonoMethod_get_HasGenericParameters): Show
the "official" behavior here.
(ves_icall_MonoMethod_get_Mono_IsInflatedMethod): New interncall.

svn path=/trunk/mono/; revision=24739

mono/metadata/ChangeLog
mono/metadata/icall.c

index 20521134f2e61b3c71bbcda43b4af423ffb9c5be..7eca5015c2458b21ed905226264e70b58bb97364 100644 (file)
@@ -1,3 +1,9 @@
+2004-03-29  Martin Baulig  <martin@ximian.com>
+
+       * icall.c (ves_icall_MonoMethod_get_HasGenericParameters): Show
+       the "official" behavior here.
+       (ves_icall_MonoMethod_get_Mono_IsInflatedMethod): New interncall.
+
 2004-03-29  Martin Baulig  <martin@ximian.com>
 
        * icall.c: Reflect latest API changes.
 2004-03-29  Martin Baulig  <martin@ximian.com>
 
        * icall.c: Reflect latest API changes.
index 84bfb17ca8d43583096efb69f19d6345f73274e0..b404101a832a8a64581af10ea36bac0a3323d765 100644 (file)
@@ -2078,8 +2078,19 @@ ves_icall_MonoMethod_get_HasGenericParameters (MonoReflectionMethod *method)
            (method->method->iflags & METHOD_IMPL_ATTRIBUTE_INTERNAL_CALL))
                return FALSE;
 
            (method->method->iflags & METHOD_IMPL_ATTRIBUTE_INTERNAL_CALL))
                return FALSE;
 
-       return method->method->signature->is_inflated ||
-               method->method->signature->generic_param_count != 0;
+       return method->method->signature->generic_param_count != 0;
+}
+
+static gboolean
+ves_icall_MonoMethod_get_Mono_IsInflatedMethod (MonoReflectionMethod *method)
+{
+       MONO_ARCH_SAVE_REGS;
+
+       if ((method->method->flags & METHOD_ATTRIBUTE_PINVOKE_IMPL) ||
+           (method->method->iflags & METHOD_IMPL_ATTRIBUTE_INTERNAL_CALL))
+               return FALSE;
+
+       return method->method->signature->is_inflated;
 }
 
 static gboolean
 }
 
 static gboolean
@@ -5114,7 +5125,9 @@ static const IcallEntry module_icalls [] = {
 };
 
 static const IcallEntry monocmethod_icalls [] = {
 };
 
 static const IcallEntry monocmethod_icalls [] = {
-       {"InternalInvoke", ves_icall_InternalInvoke}
+       {"GetGenericMethodDefinition_impl", ves_icall_MonoMethod_GetGenericMethodDefinition},
+       {"InternalInvoke", ves_icall_InternalInvoke},
+       {"get_Mono_IsInflatedMethod", ves_icall_MonoMethod_get_Mono_IsInflatedMethod}
 };
 
 static const IcallEntry monoeventinfo_icalls [] = {
 };
 
 static const IcallEntry monoeventinfo_icalls [] = {
@@ -5150,6 +5163,7 @@ static const IcallEntry monomethod_icalls [] = {
        {"InternalInvoke", ves_icall_InternalInvoke},
        {"get_HasGenericParameters", ves_icall_MonoMethod_get_HasGenericParameters},
        {"get_IsGenericMethodDefinition", ves_icall_MonoMethod_get_IsGenericMethodDefinition},
        {"InternalInvoke", ves_icall_InternalInvoke},
        {"get_HasGenericParameters", ves_icall_MonoMethod_get_HasGenericParameters},
        {"get_IsGenericMethodDefinition", ves_icall_MonoMethod_get_IsGenericMethodDefinition},
+       {"get_Mono_IsInflatedMethod", ves_icall_MonoMethod_get_Mono_IsInflatedMethod},
        {"get_base_definition", ves_icall_MonoMethod_get_base_definition}
 };
 
        {"get_base_definition", ves_icall_MonoMethod_get_base_definition}
 };