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

Class Token

Tools/cases_generator/lexer.py:254–291  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

252
253@dataclass(slots=True, frozen=True)
254class Token:
255 filename: str
256 kind: str
257 text: str
258 begin: tuple[int, int]
259 end: tuple[int, int]
260
261 @property
262 def line(self) -> int:
263 return self.begin[0]
264
265 @property
266 def column(self) -> int:
267 return self.begin[1]
268
269 @property
270 def end_line(self) -> int:
271 return self.end[0]
272
273 @property
274 def end_column(self) -> int:
275 return self.end[1]
276
277 @property
278 def width(self) -> int:
279 return self.end[1] - self.begin[1]
280
281 def replaceText(self, txt: str) -> "Token":
282 assert isinstance(txt, str)
283 return Token(self.filename, self.kind, txt, self.begin, self.end)
284
285 def __repr__(self) -> str:
286 b0, b1 = self.begin
287 e0, e1 = self.end
288 if b0 == e0:
289 return f"{self.kind}({self.text!r}, {b0}:{b1}:{e1})"
290 else:
291 return f"{self.kind}({self.text!r}, {b0}:{b1}, {e0}:{e1})"
292
293
294def tokenize(src: str, line: int = 1, filename: str = "") -> Iterator[Token]:

Callers 3

replaceTextMethod · 0.70
tokenizeFunction · 0.70
tokenize_asdlFunction · 0.50

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…