diff --git a/jedi/parsing.py b/jedi/parsing.py index 2328552d..3b38a390 100644 --- a/jedi/parsing.py +++ b/jedi/parsing.py @@ -547,11 +547,18 @@ class Parser(object): if tok != 'import': self._gen.push_last_back() names = self._parse_import_list() - for name, alias, defunct2 in names: + for count, (name, alias, defunct2) in enumerate(names): star = name is not None and name.names[0] == '*' if star: name = None - i = pr.Import(self.module, first_pos, self.end_pos, name, + if alias is not None: + e = alias.end_pos + elif name is not None: + e = name.end_pos + else: + e = self.end_pos + end_pos = self.end_pos if count + 1 == len(names) else e + i = pr.Import(self.module, first_pos, end_pos, name, alias, mod, star, relative_count, defunct=defunct or defunct2) self._check_user_stmt(i) diff --git a/test/completion/imports.py b/test/completion/imports.py index e651d97e..929abacd 100644 --- a/test/completion/imports.py +++ b/test/completion/imports.py @@ -216,6 +216,13 @@ from not_a_module import # this can cause recursions from imports import * +#137 +import json +#? 23 json.dump +from json import load, dump +#? 17 json.load +from json import load, dump + # ----------------- # packages # -----------------