1
0
forked from VimPlug/jedi

Move to using py__getitem__ and py__simple_getitem__

This change is necessary to handle more complex cases with py__getitem__
This commit is contained in:
Dave Halter
2018-08-13 18:42:09 +02:00
parent 11b2ac9923
commit fe78fa9850
7 changed files with 68 additions and 86 deletions

View File

@@ -226,6 +226,11 @@ class DirectObjectAccess(object):
def py__mro__accesses(self):
return tuple(self._create_access_path(cls) for cls in self._obj.__mro__[1:])
def py__getitem__all_values(self):
if isinstance(self._obj, dict):
return [self._create_access_path(v) for v in self._obj.values()]
return self.py__iter__list()
def py__simple_getitem__(self, index):
if type(self._obj) not in (str, list, tuple, unicode, bytes, bytearray, dict):
# Get rid of side effects, we won't call custom `__getitem__`s.
@@ -416,9 +421,6 @@ class DirectObjectAccess(object):
def negate(self):
return self._create_access_path(-self._obj)
def dict_values(self):
return [self._create_access_path(v) for v in self._obj.values()]
def is_super_class(self, exception):
return issubclass(exception, self._obj)