From 46b49af5d9b1050feeca9af4f5714778845de4fb Mon Sep 17 00:00:00 2001 From: Dave Halter Date: Wed, 10 Sep 2014 17:41:06 +0200 Subject: [PATCH] Even params should be NameParts as a Definition input. --- jedi/api/__init__.py | 6 +++--- jedi/api/classes.py | 4 +++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/jedi/api/__init__.py b/jedi/api/__init__.py index b8ed3524..394d8526 100644 --- a/jedi/api/__init__.py +++ b/jedi/api/__init__.py @@ -159,7 +159,7 @@ class Script(object): if not dot: # add named params for call_sig in self.call_signatures(): - # allow protected access, because it's a public API. + # Allow protected access, because it's a public API. module = call_sig._definition.get_parent_until() # Compiled modules typically don't allow keyword arguments. if not isinstance(module, compiled.CompiledObject): @@ -167,8 +167,8 @@ class Script(object): # Allow access on _definition here, because it's a # public API and we don't want to make the internal # Name object public. - if p._definition.stars == 0: # no *args/**kwargs - completions.append((p._definition.get_name(), p)) + if p._definition.get_definition().stars == 0: # no *args/**kwargs + completions.append((p._definition.parent, p)) if not path and not isinstance(user_stmt, pr.Import): # add keywords diff --git a/jedi/api/classes.py b/jedi/api/classes.py index 983400a1..8262fa3a 100644 --- a/jedi/api/classes.py +++ b/jedi/api/classes.py @@ -385,7 +385,7 @@ class BaseDefinition(object): params = sub.params[1:] # ignore self except KeyError: return [] - return [_Param(self._evaluator, p) for p in params] + return [_Param(self._evaluator, p.get_name().names[-1]) for p in params] def parent(self): if isinstance(self._definition, compiled.CompiledObject): @@ -575,6 +575,8 @@ class Definition(use_metaclass(CachedMetaClass, BaseDefinition)): """ def __init__(self, evaluator, definition): super(Definition, self).__init__(evaluator, definition, definition.start_pos) + if not isinstance(definition, pr.NamePart): + raise NotImplementedError(definition) @property @underscore_memoization