Add a function to compute a class's method resolution order. This is

easy for 2.2 new-style classes, but trickier for classic classes, and
different approaches are needed "depending".  The function will allow
later code to treat all flavors of classes uniformly.
This commit is contained in:
Tim Peters 2001-09-22 06:10:55 +00:00
parent c377b16d12
commit e0b2d7ac9a
3 changed files with 47 additions and 1 deletions

View file

@ -238,7 +238,7 @@ you can expect to find the following special attributes:
\begin{funcdesc}{formatargspec}{args\optional{, varargs, varkw, defaults,
argformat, varargsformat, varkwformat, defaultformat}}
Format a pretty argument spec from the four values returned by
\function{getargspec()}. The other four arguments are the
corresponding optional formatting functions that are called to turn
@ -253,6 +253,14 @@ you can expect to find the following special attributes:
names and values into strings.
\end{funcdesc}
\begin{funcdesc}{getmro}{cls}
Return a tuple of class cls's base classes, including cls, in
method resolution order. No class appears more than once in this tuple.
Note that the method resolution order depends on cls's type. Unless a
very peculiar user-defined metatype is in use, cls will be the first
element of the tuple.
\end{funcdesc}
\subsection{The interpreter stack
\label{inspect-stack}}