Fix __call__ param completion. Fixes #613.

This commit is contained in:
Dave Halter
2016-07-31 21:37:01 +02:00
parent 5f064a2a0a
commit 62e184134b
3 changed files with 24 additions and 4 deletions

View File

@@ -345,12 +345,20 @@ class BaseDefinition(object):
params = followed.params
elif followed.isinstance(er.compiled.CompiledObject):
params = followed.params
else:
elif isinstance(followed, er.Class):
try:
sub = followed.get_subscope_by_name('__init__')
params = sub.params[1:] # ignore self
except KeyError:
return []
elif isinstance(followed, er.Instance):
try:
sub = followed.get_subscope_by_name('__call__')
params = sub.params[1:] # ignore self
except KeyError:
return []
else:
return []
return [_Param(self._evaluator, p.name) for p in params]
def parent(self):