diff options
-rw-r--r-- | mono/metadata/class.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/mono/metadata/class.c b/mono/metadata/class.c index 1296ed12123..f1f2e2156d9 100644 --- a/mono/metadata/class.c +++ b/mono/metadata/class.c @@ -4821,6 +4821,11 @@ mono_method_get_vtable_slot (MonoMethod *method) MonoClass *gklass; int i; + if (!method->klass->generic_class) { + g_assert (method->is_inflated); + return mono_method_get_vtable_slot (((MonoMethodInflated*)method)->declaring); + } + /* This can happen for abstract methods of generic instances due to the shortcut code in mono_class_setup_vtable_general (). */ g_assert (method->klass->generic_class); gklass = method->klass->generic_class->container_class; |