From 6a9745b42ba2365f08b4966ee82c9f0a61a48d97 Mon Sep 17 00:00:00 2001 From: Sam Roeca Date: Tue, 28 Jan 2020 14:07:05 -0500 Subject: [PATCH] Get basic completions working with TypedDict --- jedi/inference/gradual/typing.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/jedi/inference/gradual/typing.py b/jedi/inference/gradual/typing.py index 2d7d18ef..ffb9b99b 100644 --- a/jedi/inference/gradual/typing.py +++ b/jedi/inference/gradual/typing.py @@ -5,8 +5,9 @@ values. This file deals with all the typing.py cases. """ +import itertools from jedi import debug -from jedi.inference.compiled import builtin_from_name +from jedi.inference.compiled import builtin_from_name, create_simple_object from jedi.inference.base_value import ValueSet, NO_VALUES, Value, \ LazyValueWrapper from jedi.inference.lazy_value import LazyKnownValues @@ -398,8 +399,14 @@ class TypedDict(LazyValueWrapper): return NO_VALUES def get_key_values(self): - from jedi.inference.compiled import create_simple_object - return ValueSet({create_simple_object(self.inference_state, 'baz')}) + filtered_values = itertools.chain.from_iterable(( + f.values(from_instance=True) + for f in self._definition_class.get_filters(is_instance=True) + )) + return ValueSet({ + create_simple_object(self.inference_state, v.string_name) + for v in filtered_values + }) def _get_wrapped_value(self): d, = self.inference_state.builtins_module.py__getattribute__('dict')