summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--generic/tclOOCall.c24
1 files changed, 12 insertions, 12 deletions
diff --git a/generic/tclOOCall.c b/generic/tclOOCall.c
index e449893..3e4f561 100644
--- a/generic/tclOOCall.c
+++ b/generic/tclOOCall.c
@@ -637,6 +637,18 @@ AddClassMethodNames(
break;
}
+ if (clsPtr->mixins.num != 0) {
+ Class *mixinPtr;
+ int i;
+
+ FOREACH(mixinPtr, clsPtr->mixins) {
+ if (mixinPtr != clsPtr) {
+ AddClassMethodNames(mixinPtr, flags|TRAVERSED_MIXIN,
+ namesPtr, examinedClassesPtr);
+ }
+ }
+ }
+
FOREACH_HASH(namePtr, mPtr, &clsPtr->classMethods) {
hPtr = Tcl_CreateHashEntry(namesPtr, (char *) namePtr, &isNew);
if (isNew) {
@@ -654,18 +666,6 @@ AddClassMethodNames(
}
}
- if (clsPtr->mixins.num != 0) {
- Class *mixinPtr;
- int i;
-
- FOREACH(mixinPtr, clsPtr->mixins) {
- if (mixinPtr != clsPtr) {
- AddClassMethodNames(mixinPtr, flags|TRAVERSED_MIXIN,
- namesPtr, examinedClassesPtr);
- }
- }
- }
-
if (clsPtr->superclasses.num != 1) {
break;
}