• Guido van Rossum's avatar
    Redo the PyMethod attributes using a dir()-friendly approach, creating · f0b35e15
    Guido van Rossum yazdı
    descriptors for each attribute.  The getattr() implementation is
    similar to PyObject_GenericGetAttr(), but delegates to im_self instead
    of looking in __dict__; I couldn't do this as a wrapper around
    PyObject_GenericGetAttr().
    
    XXX A problem here is that this is a case of *delegation*.  dir()
    doesn't see exactly the same attributes that are actually defined;
    e.g. if the delegate is a Python function object, it supports
    attributes like func_code etc., but these are not visible to dir(); on
    the other hand, dynamic function attributes (stored in the function's
    __dict__) *are* visible to dir().  Maybe we need a mechanism to tell
    dir() about the delegation mechanism?  I vaguely recall seeing a
    request in the newsgroup for a more formal definition of attribute
    delegation too.  Sigh, time for a new PEP.
    f0b35e15
classobject.c 55.3 KB