diff options
Diffstat (limited to 'snapshot.py')
| -rw-r--r-- | snapshot.py | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/snapshot.py b/snapshot.py index 01c6446..3170649 100644 --- a/snapshot.py +++ b/snapshot.py @@ -38,3 +38,12 @@ class ProgramState: def __repr__(self): return repr(self.regs) + +class SnapshotSymbolResolver(SymbolResolver): + def __init__(self, snapshot: ProgramState): + self._state = snapshot + + def resolve(self, symbol: str): + if symbol not in self._state.arch.regnames: + raise SymbolResolveError(symbol, 'Symbol is not a register name.') + return self._state.read(symbol) |