Example #1
0
def _create(evaluator, obj, parent_context=None, *args):
    tree_node, path = find_syntax_node_name(evaluator, obj)

    compiled_object = compiled.create(
        evaluator, obj, parent_context=parent_context.compiled_object)
    if tree_node is None:
        return compiled_object

    module_node = tree_node.get_root_node()
    if parent_context.tree_node.get_root_node() == module_node:
        module_context = parent_context.get_root_context()
    else:
        module_context = ModuleContext(evaluator, module_node, path=path)
        # TODO this __name__ is probably wrong.
        name = compiled_object.get_root_context().py__name__()
        imports.add_module(evaluator, name, module_context)

    tree_context = module_context.create_context(
        tree_node,
        node_is_context=True,
        node_is_object=True
    )
    if tree_node.type == 'classdef':
        if not inspect.isclass(obj):
            # Is an instance, not a class.
            tree_context, = tree_context.execute_evaluated()

    return MixedObject(
        evaluator,
        parent_context,
        compiled_object,
        tree_context=tree_context
    )
Example #2
0
def create(evaluator, obj, parent_context=None, *args):
    tree_node, path = find_syntax_node_name(evaluator, obj)

    compiled_object = compiled.create(
        evaluator, obj, parent_context=parent_context.compiled_object)
    if tree_node is None:
        return compiled_object

    module_node = tree_node.get_root_node()
    if parent_context.tree_node.get_root_node() == module_node:
        module_context = parent_context.get_root_context()
    else:
        from jedi.evaluate.representation import ModuleContext
        module_context = ModuleContext(evaluator, module_node, path=path)
        name = compiled_object.get_root_context().py__name__()
        imports.add_module(evaluator, name, module_context)

    tree_context = module_context.create_context(tree_node,
                                                 node_is_context=True,
                                                 node_is_object=True)

    return MixedObject(evaluator,
                       parent_context,
                       compiled_object,
                       tree_context=tree_context)
Example #3
0
def create(evaluator, obj, parent_context=None, *args):
    tree_node, path = find_syntax_node_name(evaluator, obj)

    compiled_object = compiled.create(
        evaluator, obj, parent_context=parent_context.compiled_object)
    if tree_node is None:
        return compiled_object

    module_node = tree_node.get_root_node()
    if parent_context.tree_node.get_root_node() == module_node:
        module_context = parent_context.get_root_context()
    else:
        from jedi.evaluate.representation import ModuleContext
        module_context = ModuleContext(evaluator, module_node, path=path)
        name = compiled_object.get_root_context().py__name__()
        imports.add_module(evaluator, name, module_context)

    tree_context = module_context.create_context(
        tree_node,
        node_is_context=True,
        node_is_object=True
    )

    return MixedObject(
        evaluator,
        parent_context,
        compiled_object,
        tree_context=tree_context
    )
Example #4
0
    def _get_module(self):
        cache.invalidate_star_import_cache(self._path)
        parser = FastParser(self._grammar, self._source, self.path)
        save_parser(self.path, parser, pickling=False)

        module = self._evaluator.wrap(parser.module)
        imports.add_module(self._evaluator, unicode(module.name), module)
        return parser.module
 def _get_module(self):
     module = er.ModuleContext(self._evaluator, self._get_module_node(),
                               self.path)
     if self.path is not None:
         name = dotted_path_in_sys_path(self._evaluator.sys_path, self.path)
         if name is not None:
             imports.add_module(self._evaluator, name, module)
     return module
Example #6
0
 def _get_module(self):
     module = er.ModuleContext(
         self._evaluator,
         self._get_module_node(),
         self.path
     )
     imports.add_module(self._evaluator, module.name.string_name, module)
     return module
Example #7
0
    def _get_module(self):
        name = '__main__'
        if self.path is not None:
            n = dotted_path_in_sys_path(self._evaluator.get_sys_path(), self.path)
            if n is not None:
                name = n

        module = ModuleContext(self._evaluator, self._module_node, self.path)
        imports.add_module(self._evaluator, name, module)
        return module
Example #8
0
 def _get_module(self):
     module = ModuleContext(
         self._evaluator,
         self._get_module_node(),
         self.path
     )
     if self.path is not None:
         name = dotted_path_in_sys_path(self._evaluator.project.sys_path, self.path)
         if name is not None:
             imports.add_module(self._evaluator, name, module)
     return module
Example #9
0
    def __init__(self, evaluator, parent_context, compiled_object, tree_name):
        self.evaluator = evaluator
        self.compiled_object = compiled_object
        self.obj = compiled_object.obj
        self._tree_name = tree_name
        name_module = tree_name.get_root_node()
        if parent_context.tree_node.get_root_node() != name_module:
            from jedi.evaluate.representation import ModuleContext
            module_context = ModuleContext(evaluator, name_module)
            name = compiled_object.get_root_context().py__name__()
            imports.add_module(evaluator, name, module_context)
        else:
            module_context = parent_context.get_root_context()

        self._context = module_context.create_context(tree_name.parent,
                                                      node_is_context=True,
                                                      node_is_object=True)
Example #10
0
    def __init__(self, evaluator, parent_context, compiled_object, tree_name):
        self.evaluator = evaluator
        self.compiled_object = compiled_object
        self.obj = compiled_object.obj
        self._tree_name = tree_name
        name_module = tree_name.get_root_node()
        if parent_context.tree_node.get_root_node() != name_module:
            from jedi.evaluate.representation import ModuleContext
            module_context = ModuleContext(evaluator, name_module)
            name = compiled_object.get_root_context().py__name__()
            imports.add_module(evaluator, name, module_context)
        else:
            module_context = parent_context.get_root_context()

        self._context = module_context.create_context(
            tree_name.parent,
            node_is_context=True,
            node_is_object=True
        )
Example #11
0
File: mixed.py Project: sola4u/jedi
def _create(evaluator, access_handle, parent_context, *args):
    compiled_object = create_cached_compiled_object(
        evaluator,
        access_handle,
        parent_context=parent_context.compiled_object)

    result = _find_syntax_node_name(evaluator, access_handle)
    if result is None:
        return compiled_object

    module_node, tree_node, path, code_lines = result

    if parent_context.tree_node.get_root_node() == module_node:
        module_context = parent_context.get_root_context()
    else:
        module_context = ModuleContext(
            evaluator,
            module_node,
            path=path,
            code_lines=code_lines,
        )
        # TODO this __name__ is probably wrong.
        name = compiled_object.get_root_context().py__name__()
        imports.add_module(evaluator, name, module_context)

    tree_context = module_context.create_context(tree_node,
                                                 node_is_context=True,
                                                 node_is_object=True)
    if tree_node.type == 'classdef':
        if not access_handle.is_class():
            # Is an instance, not a class.
            tree_context, = tree_context.execute_evaluated()

    return MixedObject(evaluator,
                       parent_context,
                       compiled_object,
                       tree_context=tree_context)
Example #12
0
File: __init__.py Project: ABob/vim
 def _parsed_callback(self, parser):
     module = self._evaluator.wrap(parser.module)
     imports.add_module(self._evaluator, unicode(module.name), module)
Example #13
0
 def _parsed_callback(self, parser):
     module = self._evaluator.wrap(parser.module)
     imports.add_module(self._evaluator, unicode(module.name), module)