Also fixed spelling in C0112 to C0116 messages following the review
of pull-request #2036 by Ashley Whetter.
See also #2075, #2077, #2262, #2654, #2805, #2809, #2844, #2992
and #3013 for full historical context.
The implementation successfully warns against the most obvious cases
where named variables are supplied to a function that all match a
function's positional argument, but are in the wrong order.
There are some additional corner cases that need to be addresses, such
as call sites that are not typical function calls.
Added additional checking for the presence of `self` arguments when
calling instance attributes.
Refactored the check into its own function so that we can bail out
cleanly with a return if needed.
Close#2975
This check is emitted when we detect that a method is overridden
as a property or a property is overridden as a method. This can indicate
a bug in the application code that will trigger a runtime error.
Close#2670
This check is emitted when ``pylint`` detects that a name
was assigned one or multiple times in the same assignment,
which indicate a potential bug.
Close#2898
Inferring variadic positional arguments and keyword arguments
will result into empty Tuples and Dicts, which can lead in
some cases to false positives with regard to no-value-for-parameter.
In order to avoid this, until we'll have support for call context
propagation, we're ignoring such cases if detected.
We already did that for function calls, but the previous fix
was not taking in consideration ``lambdas``
Close#2918
It reached EoL a while ago an our typed_ast dependency also stopped working
for 3.4. Ideally just use a more recent Python version, which also helps
us as we don't have to maintain support for multiple minor versions at once.
Add an extension checker (pylint.extensions.broad_try_clause) that enforces a
configurable maximum number of statements inside of a try clause.
This facilitates enforcing PEP 8's guidelines about try/except statements and
the amount of code in the try clause:
"Additionally, for all try/except clauses, limit the try clause to the absolute minimum
amount of code necessary. Again, this avoids masking bugs."
Commit 79c71de changed inherit_from_std_ex to pass recurs=True to the
call to ancestors. Since the ancestors call now recurses, there is no
need for the inherit_from_std_ex function to recurse as well, especially
since ancestors handles circular references (A inherits from B which
inherits from A).