mirror of
https://github.com/davidhalter/jedi.git
synced 2025-12-17 19:15:55 +08:00
Remove evaluator param from py__bases__.
This commit is contained in:
@@ -68,8 +68,8 @@ class CompiledObject(Base):
|
|||||||
return tuple(create(self._evaluator, cls, self.parent) for cls in self.obj.__mro__)
|
return tuple(create(self._evaluator, cls, self.parent) for cls in self.obj.__mro__)
|
||||||
|
|
||||||
@CheckAttribute
|
@CheckAttribute
|
||||||
def py__bases__(self, evaluator):
|
def py__bases__(self):
|
||||||
return tuple(create(evaluator, cls) for cls in self.obj.__bases__)
|
return tuple(create(self._evaluator, cls) for cls in self.obj.__bases__)
|
||||||
|
|
||||||
def py__bool__(self):
|
def py__bool__(self):
|
||||||
return bool(self.obj)
|
return bool(self.obj)
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ and others. Here's a list:
|
|||||||
py__call__(evaluator, params: Array) On callable objects, returns types.
|
py__call__(evaluator, params: Array) On callable objects, returns types.
|
||||||
py__bool__() Returns True/False/None; None means that
|
py__bool__() Returns True/False/None; None means that
|
||||||
there's no certainty.
|
there's no certainty.
|
||||||
py__bases__(evaluator) Returns a list of base classes.
|
py__bases__() Returns a list of base classes.
|
||||||
py__mro__() Returns a list of classes (the mro).
|
py__mro__() Returns a list of classes (the mro).
|
||||||
py__iter__() Returns a generator of a set of types.
|
py__iter__() Returns a generator of a set of types.
|
||||||
py__getitem__(index: int/str) Returns a a set of types of the index.
|
py__getitem__(index: int/str) Returns a a set of types of the index.
|
||||||
@@ -422,7 +422,7 @@ class Class(use_metaclass(CachedMetaClass, Wrapper)):
|
|||||||
mro = [self]
|
mro = [self]
|
||||||
# TODO Do a proper mro resolution. Currently we are just listing
|
# TODO Do a proper mro resolution. Currently we are just listing
|
||||||
# classes. However, it's a complicated algorithm.
|
# classes. However, it's a complicated algorithm.
|
||||||
for cls in self.py__bases__(self._evaluator):
|
for cls in self.py__bases__():
|
||||||
# TODO detect for TypeError: duplicate base class str,
|
# TODO detect for TypeError: duplicate base class str,
|
||||||
# e.g. `class X(str, str): pass`
|
# e.g. `class X(str, str): pass`
|
||||||
try:
|
try:
|
||||||
@@ -447,13 +447,13 @@ class Class(use_metaclass(CachedMetaClass, Wrapper)):
|
|||||||
return tuple(mro)
|
return tuple(mro)
|
||||||
|
|
||||||
@memoize_default(default=())
|
@memoize_default(default=())
|
||||||
def py__bases__(self, evaluator):
|
def py__bases__(self):
|
||||||
arglist = self.base.get_super_arglist()
|
arglist = self.base.get_super_arglist()
|
||||||
if arglist:
|
if arglist:
|
||||||
args = param.Arguments(self._evaluator, arglist)
|
args = param.Arguments(self._evaluator, arglist)
|
||||||
return list(chain.from_iterable(args.eval_args()))
|
return list(chain.from_iterable(args.eval_args()))
|
||||||
else:
|
else:
|
||||||
return [compiled.create(evaluator, object)]
|
return [compiled.create(self._evaluator, object)]
|
||||||
|
|
||||||
def py__call__(self, evaluator, params):
|
def py__call__(self, evaluator, params):
|
||||||
return set([Instance(evaluator, self, params)])
|
return set([Instance(evaluator, self, params)])
|
||||||
|
|||||||
@@ -148,7 +148,7 @@ def builtins_super(evaluator, types, objects, scope):
|
|||||||
cls = er.Class(evaluator, cls)
|
cls = er.Class(evaluator, cls)
|
||||||
elif isinstance(cls, er.Instance):
|
elif isinstance(cls, er.Instance):
|
||||||
cls = cls.base
|
cls = cls.base
|
||||||
su = cls.py__bases__(evaluator)
|
su = cls.py__bases__()
|
||||||
if su:
|
if su:
|
||||||
return evaluator.execute(su[0])
|
return evaluator.execute(su[0])
|
||||||
return set()
|
return set()
|
||||||
|
|||||||
Reference in New Issue
Block a user