diff --git a/jedi/api/usages.py b/jedi/api/usages.py index 0eedf8fa..8a597da5 100644 --- a/jedi/api/usages.py +++ b/jedi/api/usages.py @@ -1,4 +1,4 @@ -from jedi._compatibility import unicode +from jedi._compatibility import u from jedi import common from jedi.api import classes from jedi.parser import representation as pr @@ -33,7 +33,7 @@ def usages(evaluator, definitions, search_name, mods): call_path = list(call.generate_call_path()) for i, name in enumerate(call_path): # name is `pr.NamePart`. - if unicode(name) == search_name: + if u(name) == search_name: follow.append(call_path[:i + 1]) for call_path in follow: diff --git a/jedi/evaluate/precedence.py b/jedi/evaluate/precedence.py index aebedb59..514dfa69 100644 --- a/jedi/evaluate/precedence.py +++ b/jedi/evaluate/precedence.py @@ -182,8 +182,7 @@ def _literals_to_types(evaluator, result): # Literals are only valid as long as the operations are # correct. Otherwise add a value-free instance. cls = builtin.get_by_name(r.name) - from jedi.evaluate import representation as er - result[i] = er.Instance(evaluator, cls) + result[i] = evaluator.execute(cls)[0] return list(set(result)) diff --git a/test/completion/usages.py b/test/completion/usages.py index 244d596c..1132a1bc 100644 --- a/test/completion/usages.py +++ b/test/completion/usages.py @@ -10,6 +10,8 @@ def abc(): pass abc.d.a.bsaasd.abc.d abc +# unicode chars shouldn't be a problem. +x['smörbröd'].abc if 1: abc =