mirror of
https://github.com/davidhalter/jedi.git
synced 2025-12-07 22:44:27 +08:00
builtin_methods calculation of iterable works now with the mro.
This commit is contained in:
@@ -37,9 +37,14 @@ class IterableWrapper(tree.Base):
|
||||
|
||||
@memoize_default()
|
||||
def _get_names_dict(self, names_dict):
|
||||
try:
|
||||
builtin_methods = self.builtin_methods
|
||||
except AttributeError:
|
||||
builtin_methods = {}
|
||||
for cls in type(self).mro():
|
||||
try:
|
||||
builtin_methods = dict(builtin_methods, **cls.builtin_methods)
|
||||
except AttributeError:
|
||||
pass
|
||||
|
||||
if not builtin_methods:
|
||||
return names_dict
|
||||
|
||||
dct = {}
|
||||
@@ -276,6 +281,10 @@ class DictComprehension(Comprehension, ArrayMixin):
|
||||
def _get_comp_for(self):
|
||||
return self._get_comprehension().children[3]
|
||||
|
||||
def py__iter__(self):
|
||||
for keys, values in self._iterate():
|
||||
yield keys
|
||||
|
||||
def py__getitem__(self, index):
|
||||
for keys, values in self._iterate():
|
||||
for k in keys:
|
||||
|
||||
@@ -132,7 +132,7 @@ list({a - 1: 3 for a in [1]})[0]
|
||||
d = {a - 1: b for a, b in {1: 'a', 3: 1.0}.items()}
|
||||
#? int()
|
||||
list(d)[0]
|
||||
#? str()
|
||||
#? str() float()
|
||||
d.values()[0]
|
||||
#? str()
|
||||
d[0]
|
||||
|
||||
@@ -86,9 +86,9 @@ d.values()[0]
|
||||
##? int() list
|
||||
dict(d).values()[0]
|
||||
|
||||
#? str() float()
|
||||
#? str()
|
||||
d.items()[0][0]
|
||||
#? int() list
|
||||
#? int()
|
||||
d.items()[0][1]
|
||||
|
||||
# -----------------
|
||||
|
||||
Reference in New Issue
Block a user