Remove exact_type from PythonToken, because the support for this differentiation of exact_type and type was never really there.

This commit is contained in:
Dave Halter
2017-08-21 18:30:14 +02:00
parent 88c3c0567a
commit c0d3734e81

View File

@@ -212,25 +212,14 @@ class Token(namedtuple('Token', ['type', 'string', 'start_pos', 'prefix'])):
else: else:
return self.start_pos[0], self.start_pos[1] + len(self.string) return self.start_pos[0], self.start_pos[1] + len(self.string)
def __repr__(self):
return ('TokenInfo(type=%s, string=%r, start=%r, prefix=%r)' %
self._replace(type=self.get_type_name()))
class PythonToken(Token): class PythonToken(Token):
def get_type_name(self, exact=True): def get_type_name(self, exact=True):
if exact: return tok_name[self.type]
typ = self.exact_type
else:
typ = self.type
return tok_name[typ]
@property def __repr__(self):
def exact_type(self): return ('TokenInfo(type=%s, string=%r, start=%r, prefix=%r)' %
if self.type == OP and self.string in opmap: self._replace(type=self.get_type_name()))
return opmap[self.string]
else:
return self.type
def tokenize(code, version_info): def tokenize(code, version_info):