| 14 | |
| 15 | |
| 16 | class Access: |
| 17 | def __init__(self, action: Action, offset: int, value: int = 0): |
| 18 | self.action = action |
| 19 | self.offset = offset |
| 20 | self.value = value |
| 21 | |
| 22 | def __eq__(self, o: object) -> bool: |
| 23 | if not isinstance(o, Access): |
| 24 | return False |
| 25 | |
| 26 | if self.action != o.action or self.offset != o.offset: |
| 27 | return False |
| 28 | |
| 29 | return True if self.action == Action.READ else self.value == o.value |
| 30 | |
| 31 | |
| 32 | class AccessSequence: |