Merge pull request #1342 from JCavallo/ignore_unknown_super_calls

Ignore super calls when super class cannot be inferred
This commit is contained in:
Dave Halter
2019-06-14 00:28:08 +02:00
committed by GitHub
2 changed files with 24 additions and 8 deletions
+10 -8
View File
@@ -233,14 +233,16 @@ class ClassContext(use_metaclass(CachedMetaClass, ClassMixin, FunctionAndClassBa
if arglist: if arglist:
from jedi.evaluate import arguments from jedi.evaluate import arguments
args = arguments.TreeArguments(self.evaluator, self.parent_context, arglist) args = arguments.TreeArguments(self.evaluator, self.parent_context, arglist)
return [value for key, value in args.unpack() if key is None] lst = [value for key, value in args.unpack() if key is None]
else: if lst:
if self.py__name__() == 'object' \ return lst
and self.parent_context == self.evaluator.builtins_module:
return [] if self.py__name__() == 'object' \
return [LazyKnownContexts( and self.parent_context == self.evaluator.builtins_module:
self.evaluator.builtins_module.py__getattribute__('object') return []
)] return [LazyKnownContexts(
self.evaluator.builtins_module.py__getattribute__('object')
)]
def py__getitem__(self, index_context_set, contextualized_node): def py__getitem__(self, index_context_set, contextualized_node):
from jedi.evaluate.gradual.typing import LazyGenericClass from jedi.evaluate.gradual.typing import LazyGenericClass
+14
View File
@@ -276,3 +276,17 @@ qsplit = shlex.split("foo, ferwerwerw werw werw e")
for part in qsplit: for part in qsplit:
#? str() #? str()
part part
# -----------------
# Unknown metaclass
# -----------------
# Github issue 1321
class Meta(object):
pass
class Test(metaclass=Meta):
def test_function(self):
result = super(Test, self).test_function()
#? []
result.