summaryrefslogtreecommitdiff
path: root/astroid/exceptions.py
Commit message (Collapse)AuthorAgeFilesLines
* Add a new SuperError exception subclass, SuperArgumentTypeError, which is ↵Claudiu Popa2015-05-291-0/+4
| | | | raised when there's a problem with any argument of the super call (invalid types).
* Add a new *inference object* called SuperClaudiu Popa2015-05-281-0/+4
| | | | | | | | | | | | This patch also adds support for understanding super calls. astroid understands the zero-argument form of super, specific to Python 3, where the interpreter fills itself the arguments of the call. Also, we are understanding the 2-argument form of super, both for bounded lookups (super(X, instance)) as well as for unbounded lookups (super(X, Y)), having as well support for validating that the object-or-type is a subtype of the first argument. The unbounded form of super (one argument) is not understood, since it's useless in practice and should be removed from Python's specification. Closes issue #89.
* Add two new exceptions for handling MRO error cases.Claudiu Popa2015-05-031-0/+12
| | | | | | | DuplicateBasesError is emitted when duplicate bases are found in a class, InconsistentMroError is raised when the method resolution is determined to be inconsistent. They share a common class, MroError, which is a subclass of ResolveError, meaning that this change is backwards compatible.
* Move all astroid modules into a its own directory, which is now the package.Torsten Marek2014-11-081-0/+51
python setup.py develop now works.