diff --git a/jedi/evaluate/__init__.py b/jedi/evaluate/__init__.py index 789d5f02..5e5dd936 100644 --- a/jedi/evaluate/__init__.py +++ b/jedi/evaluate/__init__.py @@ -131,7 +131,6 @@ class Evaluator(object): if isinstance(stmt, FakeStatement): return stmt.children # Already contains the results. - print('X', stmt.get_rhs()) result = self.eval_element(stmt.get_rhs()) ass_details = stmt.assignment_details @@ -188,7 +187,7 @@ class Evaluator(object): return self.find_types(stmt.parent, atom, stmt.start_pos, search_global=True) elif isinstance(atom, pr.Literal): - return [compiled.create(self, atom.value)] + return [compiled.create(self, atom.eval())] else: raise NotImplementedError diff --git a/jedi/evaluate/finder.py b/jedi/evaluate/finder.py index 5937410f..ada1e492 100644 --- a/jedi/evaluate/finder.py +++ b/jedi/evaluate/finder.py @@ -233,7 +233,6 @@ class NameFinder(object): for name in names: typ = name.get_definition() - print(typ) if typ.isinstance(pr.ForFlow): types += self._handle_for_loops(typ) elif isinstance(typ, pr.Param): diff --git a/jedi/evaluate/representation.py b/jedi/evaluate/representation.py index ef0a3c7f..4dd9b335 100644 --- a/jedi/evaluate/representation.py +++ b/jedi/evaluate/representation.py @@ -250,7 +250,9 @@ def get_instance_el(evaluator, instance, var, is_class_var=False): # TODO temp solution, remove later, Name should never get # here? par = get_instance_el(evaluator, instance, var.parent, is_class_var) - return pr.Name(var._sub_module, unicode(var), par, var.start_pos) + name = pr.Name(unicode(var), var.start_pos) + name.parent = par + return name return var var = wrap(evaluator, var) diff --git a/jedi/parser/representation.py b/jedi/parser/representation.py index c4d429ee..e81bf670 100644 --- a/jedi/parser/representation.py +++ b/jedi/parser/representation.py @@ -409,7 +409,6 @@ class Scope(Simple, DocstringMixin): elements += scan(element.children) return elements - print('return', scan(self.children)) return scan(self.children) @property @@ -475,7 +474,10 @@ class Scope(Simple, DocstringMixin): [, , ] """ names = [] - for c in self.children: + children = self.children + if is_node(children[-1], 'suite'): + children = children[-1].children + for c in children: if is_node(c, 'simple_stmt'): names += chain.from_iterable( [s.get_defined_names() for s in c.children