668 else: |
668 else: |
669 bang = "" |
669 bang = "" |
670 return "<%d+%d @%d%s %r>" % ( |
670 return "<%d+%d @%d%s %r>" % ( |
671 self.byte, self.length, self.line, bang, list(self.exits) |
671 self.byte, self.length, self.line, bang, list(self.exits) |
672 ) |
672 ) |
673 |
|
674 |
|
675 class CachedTokenizer(object): |
673 class CachedTokenizer(object): |
676 """A one-element cache around tokenize.generate_tokens. |
674 """A one-element cache around tokenize.generate_tokens. |
677 |
675 |
678 When reporting, coverage.py tokenizes files twice, once to find the |
676 When reporting, coverage.py tokenizes files twice, once to find the |
679 structure of the file, and once to syntax-color it. Tokenizing is |
677 structure of the file, and once to syntax-color it. Tokenizing is |