]> granicus.if.org Git - python/commit
Patch #1520294: Support for getset and member descriptors in types.py,
authorBarry Warsaw <barry@python.org>
Thu, 27 Jul 2006 23:43:15 +0000 (23:43 +0000)
committerBarry Warsaw <barry@python.org>
Thu, 27 Jul 2006 23:43:15 +0000 (23:43 +0000)
commit00decd7835f0c2488451cedc345f2fb0650378b5
tree88594aceb9e71f753a83234c242f8cedb40e2219
parentfc0e61d9b6f3c77f915fc8b4de287b3f8697e167
Patch #1520294: Support for getset and member descriptors in types.py,
inspect.py, and pydoc.py.  Specifically, this allows for querying the type of
an object against these built-in C types and more importantly, for getting
their docstrings printed in the interactive interpreter's help() function.

This patch includes a new built-in module called _types which provides
definitions of getset and member descriptors for use by the types.py module.
These types are exposed as types.GetSetDescriptorType and
types.MemberDescriptorType.  Query functions are provided as
inspect.isgetsetdescriptor() and inspect.ismemberdescriptor().  The
implementations of these are robust enough to work with Python implementations
other than CPython, which may not have these fundamental types.

The patch also includes documentation and test suite updates.

I commit these changes now under these guiding principles:

1. Silence is assent.  The release manager has not said "no", and of the few
   people that cared enough to respond to the thread, the worst vote was "0".

2. It's easier to ask for forgiveness than permission.

3. It's so dang easy to revert stuff in svn, that you could view this as a
   forcing function. :)

Windows build patches will follow.
Doc/lib/libinspect.tex
Doc/lib/libtypes.tex
Lib/inspect.py
Lib/pydoc.py
Lib/test/test_inspect.py
Lib/types.py
Makefile.pre.in
Misc/NEWS
Modules/_typesmodule.c [new file with mode: 0644]
Modules/config.c.in