From 8d65129a19ed9e8698cd45f9409c27359100146b Mon Sep 17 00:00:00 2001 From: Dave Halter Date: Fri, 20 Nov 2015 18:26:39 +0100 Subject: [PATCH] Power operation was not implemented before. --- jedi/evaluate/__init__.py | 4 +++- test/completion/precedence.py | 8 ++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/jedi/evaluate/__init__.py b/jedi/evaluate/__init__.py index 34635ec8..bf8fbe3f 100644 --- a/jedi/evaluate/__init__.py +++ b/jedi/evaluate/__init__.py @@ -273,7 +273,9 @@ class Evaluator(object): types = self._eval_atom(element.children[0]) for trailer in element.children[1:]: if trailer == '**': # has a power operation. - raise NotImplementedError + right = self.eval_element(element.children[2]) + types = set(precedence.calculate(self, types, trailer, right)) + break types = self.eval_trailer(types, trailer) elif element.type in ('testlist_star_expr', 'testlist',): # The implicit tuple in statements. diff --git a/test/completion/precedence.py b/test/completion/precedence.py index 68f15f43..60781158 100644 --- a/test/completion/precedence.py +++ b/test/completion/precedence.py @@ -48,6 +48,14 @@ a = 3 * "a" #? str() a +a = 3 * "a" +#? str() +a + +#? int() +(3 ** 3) +#? int() str() +(3 ** 'a') # ----------------- # assignments