forked from VimPlug/jedi
Get a few more things right with params.
This commit is contained in:
@@ -207,7 +207,7 @@ class Evaluator(object):
|
||||
if isinstance(atom, pr.Name):
|
||||
# This is the first global lookup.
|
||||
stmt = atom.get_parent_until((pr.ExprStmt, pr.ReturnStmt, pr.Scope))
|
||||
return self.find_types(stmt.parent, atom, stmt.start_pos,
|
||||
return self.find_types(stmt.get_parent_until(pr.IsScope), atom, stmt.start_pos,
|
||||
search_global=True)
|
||||
elif isinstance(atom, pr.Literal):
|
||||
return [compiled.create(self, atom.eval())]
|
||||
|
||||
@@ -87,6 +87,7 @@ class NameFinder(object):
|
||||
|
||||
stmt = name.get_definition()
|
||||
scope = stmt.parent
|
||||
print(name.parent, stmt, scope)
|
||||
if scope in break_scopes:
|
||||
continue
|
||||
|
||||
|
||||
@@ -125,9 +125,6 @@ class ExecutedParam(pr.Param):
|
||||
instance.var_args = var_args
|
||||
return instance
|
||||
|
||||
def get_parent_until(self, *args, **kwargs):
|
||||
return self.parent.get_parent_until(*args, **kwargs)
|
||||
|
||||
|
||||
def _get_calling_var_args(evaluator, var_args):
|
||||
old_var_args = None
|
||||
|
||||
@@ -1225,7 +1225,7 @@ class ArrayStmt(Statement):
|
||||
"""
|
||||
|
||||
|
||||
class Param(object):
|
||||
class Param(Base):
|
||||
"""
|
||||
The class which shows definitions of params of classes and functions.
|
||||
But this is not to define function calls.
|
||||
@@ -1240,12 +1240,20 @@ class Param(object):
|
||||
self.default = default
|
||||
self.stars = stars
|
||||
|
||||
@property
|
||||
def start_pos(self):
|
||||
return self.tfpdef.start_pos
|
||||
|
||||
def get_name(self):
|
||||
if is_node(self.tfpdef, 'tfpdef'):
|
||||
return self.tfpdef.children[0]
|
||||
else:
|
||||
return self.tfpdef
|
||||
|
||||
@property
|
||||
def parent_function(self):
|
||||
return self.get_parent_until(IsScope)
|
||||
|
||||
def __init__old(self):
|
||||
kwargs.pop('names_are_set_vars', None)
|
||||
super(Param, self).__init__(*args, names_are_set_vars=True, **kwargs)
|
||||
|
||||
Reference in New Issue
Block a user