| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | print_statement -> print_function.fix-python3-tests | Omer Katz | 2015-06-02 | 3 | -3/+3 |
| | | |||||
| * | Fixed syntax errors in Python 3. | Omer Katz | 2015-06-01 | 7 | -15/+16 |
| | | |||||
| * | Add a new SuperError exception subclass, SuperArgumentTypeError, which is ↵ | Claudiu Popa | 2015-05-29 | 3 | -8/+17 |
| | | | | | raised when there's a problem with any argument of the super call (invalid types). | ||||
| * | Fail when calling Super.super_mro if the object-or-type is not the expected ↵ | Claudiu Popa | 2015-05-29 | 2 | -1/+15 |
| | | | | | type. | ||||
| * | Remove unused import. | Claudiu Popa | 2015-05-28 | 1 | -1/+1 |
| | | |||||
| * | Update the rules for what descriptor is returned from a super(), depending ↵ | Claudiu Popa | 2015-05-28 | 3 | -17/+82 |
| | | | | | on the accessed object. | ||||
| * | Add a new *inference object* called Super | Claudiu Popa | 2015-05-28 | 6 | -2/+578 |
| | | | | | | | | | | | | | 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. | ||||
| * | Fix Pylint warnings over astroid. | Claudiu Popa | 2015-05-24 | 4 | -7/+10 |
| | | |||||
| * | Update the list of disabled messages. | Claudiu Popa | 2015-05-19 | 1 | -1/+3 |
| | | |||||
| * | Fix pylint warnings over astroid, update the list of disabled messages in ↵ | Claudiu Popa | 2015-05-19 | 20 | -265/+266 |
| | | | | | pylintrc. | ||||
| * | Activate a disabled test. | Claudiu Popa | 2015-05-19 | 1 | -10/+11 |
| | | |||||
| * | Fix bad-continuation errors from astroid. | Claudiu Popa | 2015-05-19 | 7 | -47/+46 |
| | | |||||
| * | Remove redundant if, astroid is 2.7+ only. | Claudiu Popa | 2015-05-19 | 1 | -2/+1 |
| | | |||||
| * | Specify that inference objects can be found in the AST tree, but only after ↵ | Claudiu Popa | 2015-05-19 | 2 | -3/+3 |
| | | | | | inference. | ||||
| * | Add a new type of nodes, called *inference objects*. | Claudiu Popa | 2015-05-19 | 7 | -1/+181 |
| | | | | | | | | | | | | Inference objects are similar with AST nodes, but they can be obtained only after inference, so they can't be found inside the AST tree. Their purpose is to handle at astroid level some operations which can't be handled when using brain transforms. For instance, the first object added is FrozenSet, which can be manipulated at astroid's level (inferred, itered etc). Code such as this 'frozenset((1,2))' will not return an Instance of frozenset, without having access to its content, but a new objects.FrozenSet, which can be used just as a nodes.Set. | ||||
| * | Merge. | Claudiu Popa | 2015-05-13 | 2 | -0/+32 |
| |\ | |||||
| | * | Merged in raylu/astroid/pylint-480 (pull request #76) | Claudiu Popa | 2015-05-13 | 2 | -0/+33 |
| | |\ | | | | | | | | | | brain module for dateutil.parser.parse | ||||
| | | * | Add brain module for dateutil.parser.parsepylint-480 | raylu | 2015-05-12 | 2 | -0/+33 |
| | |/ | |||||
| * | | Cleanup. | Claudiu Popa | 2015-05-11 | 1 | -2/+5 |
| |/ | |||||
| * | Raise an InferenceError when having multiple 'as' bindings from a context ↵ | Claudiu Popa | 2015-05-09 | 2 | -1/+19 |
| | | | | | manager, but the result doesn't have those indices. | ||||
| * | Remove trailing whitespace. | Claudiu Popa | 2015-05-09 | 1 | -2/+2 |
| | | |||||
| * | Add support for understanding context managers created with ↵ | Claudiu Popa | 2015-05-09 | 3 | -9/+95 |
| | | | | | contextlib.contextmanager. | ||||
| * | Add a test which shows that using namedtuple-generated classes with classes ↵ | Claudiu Popa | 2015-05-09 | 1 | -0/+11 |
| | | | | | with the same name leads to an invalid MRO. | ||||
| * | local_attr_ancestors fallbacks to using .ancestors if .mro() fails. | Claudiu Popa | 2015-05-09 | 2 | -4/+11 |
| | | |||||
| * | .root() can't always return a Module, do a getattr over pure_python method ↵ | Claudiu Popa | 2015-05-09 | 1 | -1/+1 |
| | | | | | instead. | ||||
| * | Remove trailing whitespace. | Claudiu Popa | 2015-05-09 | 2 | -3/+3 |
| | | |||||
| * | Add basic support for understanding context managers. | Claudiu Popa | 2015-05-09 | 3 | -9/+151 |
| | | | | | | | | Currently, there's no way to understand whatever __enter__ returns in a context manager and what it is binded using the ``as`` keyword. With these changes, we can understand ``bar`` in ``with foo() as bar``, which will be the result of __enter__. There's no support for contextlib.contextmanager yet. | ||||
| * | Remove unused variable. | Claudiu Popa | 2015-05-08 | 1 | -1/+1 |
| | | |||||
| * | Handle builtins without a __module__, especially for Jython. | Claudiu Popa | 2015-05-08 | 2 | -6/+13 |
| | | |||||
| * | Remove trailing whitespace. | Claudiu Popa | 2015-05-08 | 1 | -1/+1 |
| | | |||||
| * | open doesn't have a __module__ attribute on Jython. Handle this case. | Claudiu Popa | 2015-05-08 | 2 | -2/+19 |
| | | |||||
| * | Make sure that sys.stderr is reset after the .infer() call. | Claudiu Popa | 2015-05-07 | 1 | -7/+13 |
| | | |||||
| * | Class.has_dynamic_getattr doesn't return True for special methods which ↵ | Claudiu Popa | 2015-05-07 | 3 | -5/+37 |
| | | | | | | | | | | | aren't implemented in pure Python. Since most likely the methods were coming from a live object, this implies that all of them will have __getattr__ and __getattribute__ present and it is wrong to consider that those methods were actually implemented (the descriptors will be there, not necessarily implying that the function is user implemented). | ||||
| * | Update the docstring for has_dynamic_getattr to better reflect reality. | Claudiu Popa | 2015-05-06 | 1 | -2/+7 |
| | | |||||
| * | Remove hardcoded behaviour of has_dynamic_getattr for optparse. | Claudiu Popa | 2015-05-06 | 1 | -3/+0 |
| | | |||||
| * | _io names itself io. This patch fixes some cyclic dependencies when solving ↵ | Claudiu Popa | 2015-05-06 | 2 | -1/+24 |
| | | | | | io.BufferedReader and friends. | ||||
| * | Classes aren't marked as interfaces anymore, in the `type` attribute. | Claudiu Popa | 2015-05-05 | 3 | -6/+4 |
| | | |||||
| * | Merged in lorenzph/astroid/fix-recursive-attr-lookups (pull request #75) | Claudiu Popa | 2015-05-05 | 2 | -3/+21 |
| |\ | | | | | | | Fix recursive class attribute lookups | ||||
| | * | Fix recursive class attribute lookupsfix-recursive-attr-lookups | Philip Lorenz | 2015-05-04 | 2 | -3/+21 |
| |/ | | | | | | | Commit 83053ac added MRO lookup support for new-style only class hierarchies. Due to a typo old-style / mixed-style class hierarchies were either not traversed recursively or traversed with the wrong context. | ||||
| * | Add a new possible property, lazy_attribute. | Claudiu Popa | 2015-05-03 | 1 | -1/+2 |
| | | |||||
| * | Add two new exceptions for handling MRO error cases. | Claudiu Popa | 2015-05-03 | 4 | -12/+48 |
| | | | | | | | | 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. | ||||
| * | Merged in lorenzph/astroid/enum-fixes (pull request #74) | Claudiu Popa | 2015-05-02 | 0 | -0/+0 |
| |\ | | | | | | | Ensure that generated enum values have the correct base classes | ||||
| * | | Ensure that generated enum values have the correct base classesenum-fixes | Philip Lorenz | 2015-05-01 | 3 | -2/+38 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Enum values should share the same base classes as their defining class. If this is not the case it may lead to wrong inference results when an enum member is used - e.g. for the following snippet: class X(enum.IntEnum): one = 1 print([1, 2][X.one]) pylint will detect a "invalid-sequence-index" error as the __index__ method of X.one is not detected. | ||||
| * | | Add basic unit test for enum support | Philip Lorenz | 2015-05-01 | 1 | -0/+34 |
| |/ | | | | | This test verifies that the generated enum member stubs behave implement the correct interface. | ||||
| * | Don't let ResolveError leak out from local_attr, when using .mro(). | Claudiu Popa | 2015-04-30 | 2 | -1/+13 |
| | | |||||
| * | SyncManager is a context manager as well. | Claudiu Popa | 2015-04-29 | 1 | -0/+2 |
| | | |||||
| * | Expose a implicit_metaclass() method in Class. | Claudiu Popa | 2015-04-25 | 3 | -1/+30 |
| | | | | | | This will return a builtins.type instance for newstyle classes, otherwise it will return None. | ||||
| * | remove set_context line | jarradhope | 2015-04-24 | 1 | -1/+0 |
| | | |||||
| * | Add six tips for vendorized requests library. | Claudiu Popa | 2015-04-24 | 1 | -0/+1 |
| | | |||||
| * | Class.local_attr and Class.local_attr_ancestors uses internally a mro ↵ | Claudiu Popa | 2015-04-18 | 3 | -2/+41 |
| | | | | | | | | | | | | | | lookup, using .mro() method, if they can. That means for newstyle classes, when trying to lookup a member using one of these functions, the first one according to the mro will be returned. This reflects nicely the reality, but it can have as a drawback the fact that it is a behaviour change (the previous behaviour was incorrect though). Also, having bases which can return multiple values when inferred will not work with the new approach, because .mro() only retrieves the first value inferred from a base. | ||||
