diff --git a/jedi/api/classes.py b/jedi/api/classes.py index 936a70bd..4596174e 100644 --- a/jedi/api/classes.py +++ b/jedi/api/classes.py @@ -652,7 +652,7 @@ class Definition(use_metaclass(CachedMetaClass, BaseDefinition)): typ = d.type() if typ == 'instance': typ = 'class' # The description should be similar to Py objects. - d = typ + ' ' + d.name + d = typ + ' ' + d.name.get_code() elif isinstance(d, iterable.Array): d = 'class ' + d.type elif isinstance(d, (pr.Class, er.Class, er.Instance)): diff --git a/jedi/evaluate/compiled/__init__.py b/jedi/evaluate/compiled/__init__.py index 79020e2b..480eb1a7 100644 --- a/jedi/evaluate/compiled/__init__.py +++ b/jedi/evaluate/compiled/__init__.py @@ -188,12 +188,10 @@ class CompiledObject(Base): pass # self.obj maynot have an __iter__ method. return result - """ @property def name(self): # might not exist sometimes (raises AttributeError) - return self._cls().obj.__name__ - """ + return FakeName(self._cls().obj.__name__, self) def _execute_function(self, evaluator, params): if self.type() != 'function': diff --git a/jedi/evaluate/precedence.py b/jedi/evaluate/precedence.py index 52383dc2..e918bc11 100644 --- a/jedi/evaluate/precedence.py +++ b/jedi/evaluate/precedence.py @@ -213,7 +213,7 @@ def _literals_to_types(evaluator, result): if is_literal(r): # Literals are only valid as long as the operations are # correct. Otherwise add a value-free instance. - cls = builtin.get_by_name(r.name) + cls = builtin.get_by_name(r.name.get_code()) result[i] = evaluator.execute(cls)[0] return list(set(result)) diff --git a/jedi/evaluate/representation.py b/jedi/evaluate/representation.py index 5b128788..b8928a0c 100644 --- a/jedi/evaluate/representation.py +++ b/jedi/evaluate/representation.py @@ -84,7 +84,7 @@ class Instance(use_metaclass(CachedMetaClass, Executed)): """ def __init__(self, evaluator, base, var_args=()): super(Instance, self).__init__(evaluator, base, var_args) - if str(base.name) in ['list', 'set'] \ + if base.name.get_code() in ['list', 'set'] \ and compiled.builtin == base.get_parent_until(): # compare the module path with the builtin name. self.var_args = iterable.check_array_instances(evaluator, self) diff --git a/test/test_parser/test_parser.py b/test/test_parser/test_parser.py index 895e7a02..5916fe6e 100644 --- a/test/test_parser/test_parser.py +++ b/test/test_parser/test_parser.py @@ -90,14 +90,14 @@ def test_module(): module = Parser(u('asdf'), 'example.py', no_docstr=True).module name = module.name assert str(name) == 'example' - assert name.start_pos == (0, 0) - assert name.end_pos == (0, 7) + assert name.start_pos == (1, 0) + assert name.end_pos == (1, 7) module = Parser(u('asdf'), no_docstr=True).module name = module.name assert str(name) == '' - assert name.start_pos == (0, 0) - assert name.end_pos == (0, 0) + assert name.start_pos == (1, 0) + assert name.end_pos == (1, 0) def test_end_pos():