summaryrefslogtreecommitdiffstats
path: root/Lib/inspect.py
Commit message (Collapse)AuthorAgeFilesLines
* Prevent an error when inspect.isabstract() is called with something else ↵Amaury Forgeot d'Arc2008-04-081-1/+1
| | | | than a new-style class.
* Since abc._Abstract was replaces by a new type flags the regression test ↵Christian Heimes2008-03-031-0/+8
| | | | suite fails. I've added a new function inspect.isabstract(). Is the mmethod fine or should I check if object is a instance of type or subclass of object, too?
* Issue #1916. Added isgenerator() and isgeneratorfunction() toFacundo Batista2008-02-181-6/+45
| | | | | inspect.py. Thanks Javi Mansilla for patch review and corrections.
* Let most inspect functions return named tuplesRaymond Hettinger2008-01-111-5/+19
|
* Patch #1739696: use code.co_code only if really necessaryGeorg Brandl2007-07-121-4/+3
|
* Bug #1550524: better heuristics to find correct class definitionGeorg Brandl2006-10-121-2/+17
| | | | in inspect.findsource().
* Fix the speed regression in inspect.py by adding another cache to speed up ↵Nick Coghlan2006-09-071-2/+17
| | | | getmodule(). Patch #1553314
* Whitespace normalization.Tim Peters2006-07-271-1/+1
|
* Patch #1520294: Support for getset and member descriptors in types.py,Barry Warsaw2006-07-271-0/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Fix SF#1516184 (again) and add a test to prevent regression.Phillip J. Eby2006-07-201-2/+3
| | | | (There was a problem with empty filenames still causing recursion)
* Fix SF#1516184 and add a test to prevent regression.Phillip J. Eby2006-07-101-12/+9
|
* Fix another problem in inspect: if the module for an object cannot be found, ↵Georg Brandl2006-04-301-1/+5
| | | | don't try to give its __dict__ to linecache.
* Fix infinite regress when inspecting <string> or <stdin> frames.Phillip J. Eby2006-04-301-1/+7
|
* Add whitespace after commaNeal Norwitz2006-04-111-1/+1
|
* Updated the warnings, linecache, inspect, traceback, site, and doctest modulesPhillip J. Eby2006-04-111-3/+3
| | | | | to work correctly with modules imported from zipfiles or via other PEP 302 __loader__ objects. Tests and doc updates are included.
* some more fixes and tests for inspect.getsource(), triggered by crashesArmin Rigo2005-09-251-27/+20
| | | | from the PyPy project as well as the SF bug #1295909.
* Patch #1159931/bug #1143895: inspect.getsource failed when functions,Johannes Gijsbers2005-03-121-5/+5
| | | | | | etc., had comments after the colon, and some other cases. This patch take a simpler approach that doesn't rely on looking for a ':'. Thanks Simon Percivall!
* Apply itemgetter() instead of lambda.Raymond Hettinger2005-03-111-1/+2
|
* Replace list of constants with tuples of constants.Raymond Hettinger2005-02-061-5/+5
|
* Patch #1011890: fix inspect.getsource breaking with line-continuation &Johannes Gijsbers2004-12-121-4/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | more. Thanks to Simon Percivall! The patch makes changes to inspect.py in two places: * the pattern to match against functions at line 436 is modified: lambdas should be matched even if not preceded by whitespace, as long as "lambda" isn't part of another word. * the BlockFinder class is heavily modified. Changes are: - checking for "def", "class" or "lambda" names before setting self.started to True. Then checking the same line for word characters after the colon (if the colon is on that line). If so, and the line does not end with a line continuation marker, raise EndOfBlock immediately. - adding self.passline to show that the line is to be included and no more checking is necessary on that line. Since a NEWLINE token is not generated when a line continuation marker exists, this allows getsource to continue with these functions even if the following line would not be indented. Also add a bunch of 'quite-unlikely-to-occur-in-real-life-but-working-anyway' tests.
* Import no longer needed.Raymond Hettinger2004-09-201-1/+0
|
* Raymond reminded me to use DSU keySkip Montanaro2004-09-201-2/+1
|
* Sort classes by fully qualified name. In the common case where you areSkip Montanaro2004-09-201-1/+2
| | | | | | displaying a set of classes from one module it doesn't matter, but if you are displaying a large class tree from multiple modules it improves the display to sort by module.name.
* Use __module__ attribute when available instead of using isclass() predicateJohannes Gijsbers2004-09-111-1/+1
| | | | (functions and methods have grown the __module__ attribute too). See bug #570300.
* Patch #1006219: let inspect.getsource show '@' decorators and add tests forJohannes Gijsbers2004-08-181-2/+3
| | | | | this (which are rather ugly, but it'll have to do until test_inspect gets a major overhaul and a conversion to unittest). Thanks Simon Percivall!
* - Bug #891637, patch #1005466: fix inspect.getargs() crash on def foo((bar)).Matthias Klose2004-08-151-7/+15
|
* 'inspect' was not listing the functions in a module properly if the module wasBrett Cannon2004-08-131-1/+3
| | | | | | | | reached through a symlink (was comparing path of module to path to function and were not matching because of the symlink). os.path.realpath() is now used to solve this discrepency. Closes bug #570300. Thanks Johannes Gijsbers for the fix.
* SF bug #973092: inspect.getframeinfo bug if 'context' is to bigRaymond Hettinger2004-06-151-1/+1
| | | | Make sure the start argument is not negative.
* [Bug #954364] inspect.getframeinfo() sometimes produces incorrect traceback ↵Andrew M. Kuchling2004-06-051-1/+3
| | | | line #s; fix is to look at tb.tb_lineno, not tb.frame.f_lineno. Patch from Robin Becker and me.
* Apply extract functions instead of lambda.Raymond Hettinger2003-12-011-1/+2
|
* Let library modules use the new keyword arguments for list.sort().Raymond Hettinger2003-10-161-1/+1
|
* Whitespace normalization.Tim Peters2003-06-291-1/+1
|
* A bit o' reformatting and removal of non-_getframe currentframe().Jeremy Hylton2003-06-271-19/+14
|
* Fix for SF bug 620190: getargspec() doesn't work with methods.Jeremy Hylton2003-06-271-3/+10
|
* Return None to signal that the module the object was defined in was not ↵Brett Cannon2003-06-151-0/+2
| | | | found when object has no __name__ attr but is needed to figure out location of object.
* Patch #711902: Cause pydoc to show data descriptor __doc__ strings.Martin v. Löwis2003-05-031-0/+10
|
* Make module lookup a little more robust (certain kinds of fiddling toKa-Ping Yee2003-03-281-2/+2
| | | | sys.modules previously produced an exception).
* SF patch #634557: inspect.BlockFinder didn't do a good enough job findingRaymond Hettinger2003-01-191-0/+2
| | | | | | the end of code blocks. Patch contributed by Patrick O'Brien.
* SF bug #661184: inspect.getsource bugRaymond Hettinger2003-01-141-1/+3
| | | | | | | inspect.getsource would crash with one line definitions like: def f(x): return x or f = lambda x: x
* getdoc():Ka-Ping Yee2002-11-301-6/+14
| | | | | | Remove leading whitespace from first line; remove leading and trailing blank lines from docstrings. (Patch 645938 submitted by David Goodger.)
* This is my patchMichael W. Hudson2002-08-151-13/+3
| | | | | | | | [ 587993 ] SET_LINENO killer Remove SET_LINENO. Tracing is now supported by inspecting co_lnotab. Many sundry changes to document and adapt to this change.
* Add encoding declaration.Martin v. Löwis2002-08-041-0/+1
|
* Replaced .keys() with dictionary iteratorsRaymond Hettinger2002-06-021-1/+1
|
* SF 563203. Replaced 'has_key()' with 'in'.Raymond Hettinger2002-06-011-4/+4
|
* Replaced boolean test with is NoneRaymond Hettinger2002-06-011-2/+2
|
* Use types.StringTypes instead of explicit (str, unicode) listMichael W. Hudson2002-05-201-1/+1
|
* Clean up uses of some deprecated features.Fred Drake2002-04-261-2/+2
| | | | Reported by Neal Norwitz on python-dev.
* Fix getcomments() so that it doesn't fail with TypeErrors.Jeremy Hylton2002-03-281-3/+8
| | | | | | | | | It appears that getcomments() can get called for classes defined in C. Since these don't have source code, it can't do anything useful. A function buried many levels deep was raising a TypeError that was not caught. Who knows why this broke...
* tighten up unqualified except in currentframe()Skip Montanaro2002-03-251-2/+2
| | | | see bug 411881
* Use linecache for loading source code. Closes SF patch 490374.Neil Schemenauer2002-03-231-7/+5
|