Author: allison
Date: Wed Oct  3 23:29:48 2007
New Revision: 21811

Modified:
   branches/pdd15oo/src/mmd.c

Log:
[pdd15oo:mmd] Only classes call the OO subsystem code for retrieving a 
namespace.


Modified: branches/pdd15oo/src/mmd.c
==============================================================================
--- branches/pdd15oo/src/mmd.c  (original)
+++ branches/pdd15oo/src/mmd.c  Wed Oct  3 23:29:48 2007
@@ -1266,8 +1266,12 @@
 
         for (i = start_at_parent; i < n; ++i) {
             PMC * const _class = VTABLE_get_pmc_keyed_int(interp, mro, i);
-            PMC * const ns = Parrot_oo_get_namespace(interp, _class);
-            PMC * const methodobj = VTABLE_get_pmc_keyed_str(interp, ns, meth);
+            PMC *ns, *methodobj;
+            if (PObj_is_class_TEST(_class))
+                ns = Parrot_oo_get_namespace(interp, _class);
+            else
+                ns = VTABLE_pmc_namespace(interp, _class);
+            methodobj = VTABLE_get_pmc_keyed_str(interp, ns, meth);
             if (!PMC_IS_NULL(methodobj)) {
                 /*
                  * mmd_is_hidden would consider all previous candidates

Reply via email to