1
0
forked from VimPlug/jedi

Fix subscriptlist unpacking in Generics

This commit is contained in:
Dave Halter
2018-08-30 00:52:22 +02:00
parent 18e6a784e8
commit 1fce0b45f4
4 changed files with 21 additions and 6 deletions

View File

@@ -481,12 +481,22 @@ class _AbstractAnnotatedClass(ClassContext):
if node.type == 'atom_expr':
trailer = node.children[1]
if trailer.type == 'trailer' and trailer.children[0] == '[':
type_var_set = self.parent_context.eval_node(trailer.children[1])
for type_var in type_var_set:
if isinstance(type_var, TypeVar) and type_var not in found:
found.append(type_var)
for subscript_node in self._unpack_subscriptlist(trailer.children[1]):
type_var_set = self.parent_context.eval_node(subscript_node)
for type_var in type_var_set:
if isinstance(type_var, TypeVar) and type_var not in found:
found.append(type_var)
return found
def _unpack_subscriptlist(self, subscriptlist):
if subscriptlist.type == 'subscriptlist':
for subscript in subscriptlist.children[::2]:
if subscript.type != 'subscript':
yield subscript
else:
if subscriptlist.type != 'subscript':
yield subscriptlist
def get_given_types(self):
raise NotImplementedError