summaryrefslogtreecommitdiff
path: root/pylint
Commit message (Collapse)AuthorAgeFilesLines
* fix elif-used ruleLaura M?dioni2015-11-301-18/+4
| | | | The bug was introduced when porting the rule from pylint core to an extension
* Fix a crash which occurred when old visit methods are encounteredClaudiu Popa2015-11-302-9/+26
| | | | | | | | | | in plugin modules. If a plugin uses an old visit method (visit_class for instance), this can lead to a crash in pylint's base checkers, because the logic in the PylintASTWalker assumes that all checkers have a visit_class / leave_class method. The patch fixes this by looking for both names. Closes issue #711.
* Don't emit unsubscriptable-object if the node is found inside an abstract ↵Claudiu Popa2015-11-302-0/+28
| | | | class. Closes #685.
* Add wrong-import-position to check_messages's decorator arguments for ↵Claudiu Popa2015-11-304-2/+38
| | | | | | | | | | ImportChecker.leave_module This fixes an esoteric bug which occurs when ungrouped-imports and wrong-import-order are disabled and pylint is executed on multiple files. What happens is that without wrong-import-position in check_messages, leave_module will never be called, which means that the first non-import node from other files might leak into the current file, leading to wrong-import-position being emitted by pylint.
* Don't use .iteritems, it doesn't exist on Python 3. Change some variable ↵Claudiu Popa2015-11-291-11/+8
| | | | names and the name of the builtins module.
* pylint extension to check for use of "else if" instead of "elsif"Laura M?dioni2015-11-271-0/+76
| | | | related to issue #673
* Add some more comments about the limitations of this ruleLaura M?dioni2015-11-242-3/+10
| | | | related to issue #674
* Drop printLaura M?dioni2015-11-241-2/+0
| | | | related to issue #674
* Use a stack of dictionaries instead of 3 dictsLaura M?dioni2015-11-243-30/+25
| | | | | | | - This way it works with embedded classes and functions - Update the tests accordingly related to issue #674
* Remove test on str.split() since there is no support for inference on split ↵Laura M?dioni2015-11-242-11/+5
| | | | | | for now related to issue #674
* check if the type of a variable is redefined (at a function, class or module ↵Laura M?dioni2015-10-307-4/+148
| | | | | | scope) related to issue #674
* Added a new warning, 'unsupported-delete-operation'Claudiu Popa2015-11-264-21/+150
| | | | | It is emitted when item deletion is tried on an object which doesn't have this ability. Closes issue #592.
* Added a new warning, 'unsupported-assignment-operation'Claudiu Popa2015-11-264-9/+158
| | | | | This is emitted when item assignment is tried on an object which doesn't have this ability. Closes issue #591.
* Simplify the protocol methods, by using a common function.Claudiu Popa2015-11-261-41/+12
|
* Ignore multiple comparisons in unneeded-not ruleLaura M?dioni2015-11-252-0/+7
| | | | related to issue #703
* Make some imports external instead of considering them localClaudiu Popa2015-11-251-3/+3
| | | | | | | | | The assumption that a module which can't be imported is local rather than external isn't always correct, since the implementation of the astroid's import system should always find a module which is local in the current package, while it isn't necessary true that it can find always external modules, which just might be missing.
* Change the variable name to something more suggestiveClaudiu Popa2015-11-251-6/+7
|
* Fix some docstrings and the Python 3 testsClaudiu Popa2015-11-255-8/+10
|
* Fix new import related errors in pylint's codebase.Claudiu Popa2015-11-2520-45/+51
|
* Improve a bit wrong-import-position code and add commentsLaura M?dioni2015-11-241-7/+11
| | | | related to issue #692
* Simplify a bit the algorithm checking for ungrouped importsLaura M?dioni2015-11-241-12/+8
| | | | related to issue #692
* Remove a chunk of code that was never executedLaura M?dioni2015-11-231-3/+0
| | | | related to issue #692
* Factorize code in _record_import methodLaura M?dioni2015-11-231-9/+13
| | | | related to issue #692
* slightly change wrong-import-position message and add forgotten functional testLaura M?dioni2015-11-123-2/+26
| | | | related to issue #692
* Check imports are located at the top of the module (right after docstring ↵Laura M?dioni2015-11-1041-62/+102
| | | | | | and comments) related to issue #692
* Check imports are ordered (standard, 3rd party, local) and grouped by packageLaura M?dioni2015-11-0913-9/+131
| | | | related to issue #692
* Fix instances of unneeded-not in pylint's codebase.Claudiu Popa2015-11-258-9/+8
|
* Add is to the checked operatorsLaura M?dioni2015-11-243-1/+4
|
* Fix crash with 'in' operator on unneeded-notLaura M?dioni2015-10-293-2/+9
|
* improve NotCheckerLaura M?dioni2015-10-271-5/+8
| | | | | - move reverse_op declaration out of visit_unaryop - build message out of operand, instead of using replace() on node.as_string()
* improve unneeded-not messagesLaura M?dioni2015-10-272-14/+14
| | | | | - warning => convention - "One not too many" => "consider changing.."
* Check for nots too many in comparison expressionsLaura M?dioni2015-10-264-1/+85
|
* Ignore missing docstrings for decorated attribute setters and deletersMichael Kefeder2015-11-192-0/+31
| | | | Closes issue #651.
* Cleanup pylint issuesClaudiu Popa2015-11-2110-39/+22
| | | | | | | | | | | This changeset also brings a couple of changes: * rrheaders and rcheaders are dropped from html_writer.Table's constructor. They weren't used at all and it was dead code. This simplified some if statements. * _is_attribute_property is used to look for a property assignment instead on relying on a different implementation.
* Added a new refactoring warning, 'simplifiable-if-statement'Claudiu Popa2015-11-213-1/+207
| | | | | | | | | | | | | | This is used when an if statement could be reduced to a boolean evaluation of its test, as seen in this example: if some_cond: return True else: return False could be reduced to `return bool(some_cond)` Closes issue #698.
* Use the correct module.Claudiu Popa2015-11-201-2/+2
|
* Simplify the unflatten algorithm in order to not use NodeNG anymore.Claudiu Popa2015-11-201-5/+7
|
* Import has_known_bases and safe_infer back into pylint from astroid, until ↵Claudiu Popa2015-11-2012-74/+106
| | | | | | | | | the latter stabilizes its API. Currently astroid goes into a total revamp, having a couple of development branches with partially incompatible APIs, which means that pylint can't rely on the exact location of has_known_bases and safe_infer until astroid reaches a new major release. With this in mind, these two functions are backported in pylint again.
* Merged in anentropic/pylint/remove-E0201-references (pull request #303)Claudiu Popa2015-11-181-1/+1
|\ | | | | | | error E0201 is obsolete - now E1101
| * error E0201 is obsolete - now E1101remove-E0201-referencesAnentropic2015-11-181-1/+1
| |
* | check the number of boolean expressions in if statement is reasonnableLaura M?dioni2015-10-293-2/+66
| | | | | | | | | | | | | | --max-bool-expr option allows to configure it (by default, up to 5 are tolerated) closes issue #677
* | Use safe inference in unpacking-non-sequence checkerDmitry Pribysh2015-11-095-27/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unfortunately, this fix means that we won't be able to emit an error for cases like this one: ``` def foo(): if True: return [1, 2] return [3, 4, 5] a, b = foo() ``` Well, not unless we get flow-sensitive inference. But we still need this fix to reduce the number of false-positive errors. Fixes issue #695.
* | Refactor non-iterator-returned checker to use safe inferenceDmitry Pribysh2015-11-091-8/+24
| | | | | | | | This way it won't infer all possibles values of a node, only two at most.
* | fix get_type()Laura M?dioni2015-11-061-1/+1
| | | | | | | | | | It returned erroneous number of comment lines. tok_type is set just once, here one must look at the current token
* | Reduce number of false positives emitted by non-iterator-returned checkerDmitry Pribysh2015-11-073-17/+24
| | | | | | | | | | | | | | | | By disabling checker for cases when there're multiple possible values infered for node. This way we lose some of the inference power, but throw a lot less false positives. Fixes issue #695.
* | MergeClaudiu Popa2015-11-051-2/+13
|\ \
| * | display properties as attributes in pyreverse class diagramspaceone2015-10-121-2/+13
| | |
* | | Fix the test to work on both Python versions.Claudiu Popa2015-11-041-1/+1
| | |
* | | Add test for deques to `unsubscriptable-object` functional testsDmitry Pribysh2015-11-041-0/+6
| |/ |/|
* | Add ChangeLog entry for too-many-nested-blocks and fix the errors in pylint.Claudiu Popa2015-11-045-105/+109
| |