diff --git a/jedi/api/__init__.py b/jedi/api/__init__.py index b85748bb..fe077969 100644 --- a/jedi/api/__init__.py +++ b/jedi/api/__init__.py @@ -588,7 +588,8 @@ class Script(object): def _analysis(self): statements = set(chain(*self._parser.module().used_names.values())) - for stmt in statements: + # Sort the statements so that the results are reproducible. + for stmt in sorted(statements, key=lambda obj: obj.start_pos): if isinstance(stmt, pr.Import): imps = imports.ImportWrapper(self._evaluator, stmt, nested_resolve=True).follow()