diff options
author | Ned Batchelder <ned@nedbatchelder.com> | 2010-05-29 23:51:53 -0400 |
---|---|---|
committer | Ned Batchelder <ned@nedbatchelder.com> | 2010-05-29 23:51:53 -0400 |
commit | ec6b5187461bfe701e0741c35375a0e341c07e78 (patch) | |
tree | ba7d374837ce77cc9c6cd2102e355a9afb0654a2 /coverage/parser.py | |
parent | 366d15ff4949f6f13ccae5e800248a6b624a9ee2 (diff) | |
parent | b5990d4ceb60c3028575a11f8d7fd4080411ed67 (diff) | |
download | python-coveragepy-git-ec6b5187461bfe701e0741c35375a0e341c07e78.tar.gz |
Merge latest code from main coverage.py repo
Diffstat (limited to 'coverage/parser.py')
-rw-r--r-- | coverage/parser.py | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/coverage/parser.py b/coverage/parser.py index b090f02d..d883df46 100644 --- a/coverage/parser.py +++ b/coverage/parser.py @@ -306,6 +306,16 @@ class ByteParser(object): (filename, synerr.msg, synerr.lineno) ) + # Alternative Python implementations don't always provide all the + # attributes on code objects that we need to do the analysis. + for attr in ['co_lnotab', 'co_firstlineno', 'co_consts', 'co_code']: + if not hasattr(self.code, attr): + raise CoverageException( + "This implementation of Python doesn't support code " + "analysis.\n" + "Run coverage.py under CPython for this command." + ) + def child_parsers(self): """Iterate over all the code objects nested within this one. |