Start replacing the builtin module

This commit is contained in:
Dave Halter
2018-09-06 00:30:08 +02:00
parent 68bd61708e
commit 9cbf20aa48
2 changed files with 13 additions and 2 deletions

View File

@@ -147,7 +147,15 @@ class Evaluator(object):
@property
@evaluator_function_cache()
def builtins_module(self):
return compiled.get_special_object(self, u'BUILTINS')
module_name = 'builtins'
if self.environment.version_info.major == 2:
module_name = '__builtin__'
builtins_module, = self.import_module(
(module_name,),
parent_module_context=None,
sys_path=()
)
return builtins_module
def reset_recursion_limitations(self):
self.recursion_detector = recursion.RecursionDetector()

View File

@@ -7,7 +7,10 @@ from jedi.evaluate.helpers import execute_evaluated
def builtin_from_name(evaluator, string):
builtins = evaluator.builtins_module
return create_from_name(evaluator, builtins, string)
filter_ = next(builtins.get_filters(search_global=False))
name, = filter_.get(string)
context, = name.infer()
return context
def create_simple_object(evaluator, obj):