MCPcopy Index your code
hub / github.com/python/cpython / TokenIterator

Class TokenIterator

Tools/cases_generator/generators_common.py:20–45  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

18DEBUG = False
19
20class TokenIterator:
21
22 look_ahead: Token | None
23 iterator: Iterator[Token]
24
25 def __init__(self, tkns: Iterable[Token]):
26 self.iterator = iter(tkns)
27 self.look_ahead = None
28
29 def __iter__(self) -> "TokenIterator":
30 return self
31
32 def __next__(self) -> Token:
33 if self.look_ahead is None:
34 return next(self.iterator)
35 else:
36 res = self.look_ahead
37 self.look_ahead = None
38 return res
39
40 def peek(self) -> Token | None:
41 if self.look_ahead is None:
42 for tkn in self.iterator:
43 self.look_ahead = tkn
44 break
45 return self.look_ahead
46
47ROOT = Path(__file__).parent.parent.parent.resolve()
48DEFAULT_INPUT = (ROOT / "Python/bytecodes.c").as_posix()

Callers 1

emit_SimpleStmtMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…