From 547ec56bd3fa38aaa1ed1c84d628430e212e2c2d Mon Sep 17 00:00:00 2001 From: Dave Halter Date: Fri, 18 Apr 2014 14:40:13 +0200 Subject: [PATCH] remove NamePart.string, can be done by casting it to unicode --- jedi/evaluate/imports.py | 6 +++--- jedi/parser/representation.py | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/jedi/evaluate/imports.py b/jedi/evaluate/imports.py index 77757b15..6147d38d 100644 --- a/jedi/evaluate/imports.py +++ b/jedi/evaluate/imports.py @@ -16,7 +16,7 @@ import pkgutil import sys from itertools import chain -from jedi._compatibility import find_module, use_metaclass +from jedi._compatibility import find_module, unicode from jedi import common from jedi import debug from jedi import cache @@ -27,7 +27,7 @@ from jedi.evaluate import helpers from jedi import settings from jedi.common import source_to_unicode from jedi.evaluate import compiled -from jedi.evaluate.cache import CachedMetaClass, memoize_default +from jedi.evaluate.cache import memoize_default class ModuleNotFound(Exception): @@ -167,7 +167,7 @@ class ImportPath(pr.Base): # This is not an existing Import statement. Therefore, set position to # 0 (0 is not a valid line number). zero = (0, 0) - names = [(name_part.string, name_part.start_pos) + names = [(unicode(name_part), name_part.start_pos) for name_part in i.namespace.names[1:]] n = pr.Name(i._sub_module, names, zero, zero, self.import_stmt) new = pr.Import(i._sub_module, zero, zero, n) diff --git a/jedi/parser/representation.py b/jedi/parser/representation.py index 80000b11..16e228b7 100644 --- a/jedi/parser/representation.py +++ b/jedi/parser/representation.py @@ -1372,22 +1372,22 @@ class NamePart(object): # Unfortunately there's no way to use slots for str (non-zero __itemsize__) # -> http://utcc.utoronto.ca/~cks/space/blog/python/IntSlotsPython3k # Therefore don't subclass `str`. - __slots__ = ('parent', 'string', '_line', '_column') + __slots__ = ('parent', '_string', '_line', '_column') def __init__(self, string, parent, start_pos): - self.string = string + self._string = string self.parent = parent self._line = start_pos[0] self._column = start_pos[1] def __str__(self): - return self.string + return self._string def __unicode__(self): - return self.string + return self._string def __repr__(self): - return "<%s: %s>" % (type(self).__name__, self.string) + return "<%s: %s>" % (type(self).__name__, self._string) def get_parent_until(self, *args, **kwargs): return self.parent.get_parent_until(*args, **kwargs) @@ -1399,7 +1399,7 @@ class NamePart(object): @property def end_pos(self): - return self.start_pos[0], self.start_pos[1] + len(self.string) + return self.start_pos[0], self.start_pos[1] + len(self._string) class Name(Simple):