mirror of
https://github.com/davidhalter/jedi.git
synced 2026-02-24 01:09:06 +08:00
ExecutedParams should never be additionally faked, even if they are the first params. They have been legitimately created by a caller.
This commit is contained in:
@@ -296,7 +296,9 @@ class NameFinder(object):
|
||||
|
||||
cls = func.parent.get_parent_until((pr.Class, pr.Function))
|
||||
|
||||
if isinstance(cls, pr.Class) and param.position_nr == 0:
|
||||
from jedi.evaluate.param import ExecutedParam
|
||||
if isinstance(cls, pr.Class) and param.position_nr == 0 \
|
||||
and not isinstance(param, ExecutedParam):
|
||||
# This is where we add self - if it has never been
|
||||
# instantiated.
|
||||
if isinstance(self.scope, er.InstanceElement):
|
||||
|
||||
@@ -356,7 +356,7 @@ def _gen_param_name_copy(func, var_args, param, keys=(), values=(), array_type=N
|
||||
|
||||
|
||||
def _error_argument_count(func, actual_count):
|
||||
default_arguments = sum(1 for p in func.params if p.assignment_details)
|
||||
default_arguments = sum(1 for p in func.params if p.assignment_details or p.stars)
|
||||
|
||||
if default_arguments == 0:
|
||||
before = 'exactly '
|
||||
|
||||
@@ -39,7 +39,7 @@ class RecursionDetector(object):
|
||||
def push_stmt(self, stmt):
|
||||
self.current = _RecursionNode(stmt, self.current)
|
||||
check = self._check_recursion()
|
||||
if check: # TODO remove False!!!!
|
||||
if check:
|
||||
debug.warning('catched stmt recursion: %s against %s @%s', stmt,
|
||||
check.stmt, stmt.start_pos)
|
||||
self.pop_stmt()
|
||||
|
||||
Reference in New Issue
Block a user