diff --git a/jedi/evaluate/representation.py b/jedi/evaluate/representation.py index a95e5451..8e57bb36 100644 --- a/jedi/evaluate/representation.py +++ b/jedi/evaluate/representation.py @@ -472,7 +472,10 @@ class Class(use_metaclass(CachedMetaClass, Wrapper)): @property def params(self): - return self.get_subscope_by_name('__init__').params + try: + return self.get_subscope_by_name('__init__').params + except KeyError: + return [] # object.__init__ def names_dicts(self, search_global, is_instance=False): if search_global: @@ -491,7 +494,7 @@ class Class(use_metaclass(CachedMetaClass, Wrapper)): for s in self.py__mro__(): for sub in reversed(s.subscopes): if sub.name.value == name: - return sub + return sub raise KeyError("Couldn't find subscope.") def __getattr__(self, name): diff --git a/test/completion/goto.py b/test/completion/goto.py index 4e178af1..ef9938cf 100644 --- a/test/completion/goto.py +++ b/test/completion/goto.py @@ -102,6 +102,13 @@ def f(t=None): #! 9 ['t=None'] t = t or 1 + +class X(): + pass + +#! 3 [] +X(foo=x) + # ----------------- # imports # -----------------