diff --git a/jedi/evaluate/__init__.py b/jedi/evaluate/__init__.py index 1c358e9a..8fd6bb99 100644 --- a/jedi/evaluate/__init__.py +++ b/jedi/evaluate/__init__.py @@ -444,7 +444,7 @@ class Evaluator(object): follow_res = [] for s in scopes: follow_res += self.find_types(s, search, pos, - search_global=search_global, is_goto=True) + search_global=search_global, is_goto=True) return follow_res, search diff --git a/jedi/evaluate/finder.py b/jedi/evaluate/finder.py index 76c01706..a31881ca 100644 --- a/jedi/evaluate/finder.py +++ b/jedi/evaluate/finder.py @@ -231,24 +231,23 @@ class NameFinder(object): if not name.parent or p == s: break break_scopes.append(p) - - while flow_scope: - # TODO check if result is in scope -> no evaluation necessary - n = dynamic.check_flow_information(self._evaluator, flow_scope, - self.name_str, self.position) - if n: - result = n - break - - if result: - break - if flow_scope == nscope: - break - flow_scope = flow_scope.parent - flow_scope = nscope if result: break + while flow_scope: + # TODO check if result is in scope -> no evaluation necessary + n = dynamic.check_flow_information(self._evaluator, flow_scope, + self.name_str, self.position) + if n: + result = n + break + + if result: + break + if flow_scope == nscope: + break + flow_scope = flow_scope.parent + if not result and isinstance(nscope, er.Instance): # __getattr__ / __getattribute__ result += self._check_getattr(nscope) @@ -258,7 +257,6 @@ class NameFinder(object): def find(self, scopes, resolve_decorator=True): filtered = self.filter_name(scopes) - #print 'f', filtered return self._resolve_descriptors(self._remove_statements(filtered, resolve_decorator))