diff --git a/jedi/evaluate/__init__.py b/jedi/evaluate/__init__.py index 3b2fe815..bd0690b4 100644 --- a/jedi/evaluate/__init__.py +++ b/jedi/evaluate/__init__.py @@ -76,7 +76,6 @@ from jedi import common from jedi.parser import representation as pr from jedi import debug from jedi.evaluate import representation as er -from jedi.evaluate import builtin from jedi.evaluate import imports from jedi.evaluate import recursion from jedi.evaluate import iterable @@ -312,7 +311,7 @@ class Evaluator(object): search_global=True) else: # for pr.Literal - scopes = self.find_types(builtin.Builtin.scope, current.type_as_string()) + scopes = self.find_types(compiled.builtin, current.type_as_string()) # Make instances of those number/string objects. scopes = itertools.chain.from_iterable( self.execute(s, (current.value,)) for s in scopes diff --git a/jedi/evaluate/finder.py b/jedi/evaluate/finder.py index a03ec72c..96e15d9f 100644 --- a/jedi/evaluate/finder.py +++ b/jedi/evaluate/finder.py @@ -7,7 +7,7 @@ from jedi import common from jedi import settings from jedi.evaluate import representation as er from jedi.evaluate import dynamic -from jedi.evaluate import builtin +from jedi.evaluate import compiled from jedi.evaluate import docstrings from jedi.evaluate import iterable @@ -82,7 +82,7 @@ class NameFinder(object): def _check_getattr(self, inst): """Checks for both __getattr__ and __getattribute__ methods""" result = [] - module = builtin.Builtin.scope + module = compiled.builtin # str is important to lose the NamePart! name = pr.String(module, "'%s'" % self.name_str, (0, 0), (0, 0), inst) with common.ignored(KeyError): @@ -242,7 +242,8 @@ class NameFinder(object): c = r.expression_list()[0] if c in ('*', '**'): t = 'tuple' if c == '*' else 'dict' - res_new = evaluator.execute(evaluator.find_types(builtin.Builtin.scope, t)[0]) + typ = evaluator.find_types(compiled.builtin, t)[0] + res_new = evaluator.execute(typ) if not r.assignment_details: # this means that there are no default params, # so just ignore it. diff --git a/jedi/evaluate/representation.py b/jedi/evaluate/representation.py index f9ea1f37..1736e721 100644 --- a/jedi/evaluate/representation.py +++ b/jedi/evaluate/representation.py @@ -16,7 +16,7 @@ from jedi.parser import representation as pr from jedi import debug from jedi import common from jedi.evaluate.cache import memoize_default, CachedMetaClass -from jedi.evaluate import builtin +from jedi.evaluate import compiled from jedi.evaluate import recursion from jedi.evaluate import iterable from jedi.evaluate import docstrings @@ -49,7 +49,7 @@ class Instance(use_metaclass(CachedMetaClass, Executable)): def __init__(self, evaluator, base, var_args=()): super(Instance, self).__init__(evaluator, base, var_args) if str(base.name) in ['list', 'set'] \ - and builtin.Builtin.scope == base.get_parent_until(): + and compiled.builtin == base.get_parent_until(): # compare the module path with the builtin name. self.var_args = iterable.check_array_instances(evaluator, self) else: @@ -256,9 +256,9 @@ class Class(use_metaclass(CachedMetaClass, pr.IsScope)): debug.warning('Received non class, as a super class') continue # Just ignore other stuff (user input error). supers.append(cls) - if not supers and self.base.parent != builtin.Builtin.scope: + if not supers and self.base.parent != compiled.builtin: # add `object` to classes - supers += self._evaluator.find_types(builtin.Builtin.scope, 'object') + supers += self._evaluator.find_types(compiled.builtin, 'object') return supers @memoize_default(default=()) @@ -286,7 +286,7 @@ class Class(use_metaclass(CachedMetaClass, pr.IsScope)): @memoize_default(default=()) def get_defined_names(self): result = self.instance_names() - type_cls = self._evaluator.find_types(builtin.Builtin.scope, 'type')[0] + type_cls = self._evaluator.find_types(compiled.builtin, 'type')[0] return result + type_cls.base.get_defined_names() def get_subscope_by_name(self, name):