Assign a value to a Register (dest = src).
| 324 | |
| 325 | @final |
| 326 | class Assign(BaseAssign): |
| 327 | """Assign a value to a Register (dest = src).""" |
| 328 | |
| 329 | error_kind = ERR_NEVER |
| 330 | |
| 331 | def __init__(self, dest: Register, src: Value, line: int = -1) -> None: |
| 332 | super().__init__(dest, line) |
| 333 | self.src = src |
| 334 | |
| 335 | def sources(self) -> list[Value]: |
| 336 | return [self.src] |
| 337 | |
| 338 | def set_sources(self, new: list[Value]) -> None: |
| 339 | (self.src,) = new |
| 340 | |
| 341 | def stolen(self) -> list[Value]: |
| 342 | if not self.dest.type.is_refcounted: |
| 343 | return [] |
| 344 | return [self.src] |
| 345 | |
| 346 | def accept(self, visitor: OpVisitor[T]) -> T: |
| 347 | return visitor.visit_assign(self) |
| 348 | |
| 349 | |
| 350 | @final |
no outgoing calls
searching dependent graphs…