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