diff options
| author | mason <35282038+emesare@users.noreply.github.com> | 2024-03-20 18:42:22 +0000 |
|---|---|---|
| committer | Kyle Martin <krm504@nyu.edu> | 2024-03-20 15:16:00 -0400 |
| commit | 31c8eb2c5a298797422b467d060d575af0ca77d1 (patch) | |
| tree | dfb883afa08e66934cd4c9f0a9c1cd2baba03557 | |
| parent | 3553aae6ffb2affb1808359da79a4c5eb9c36e86 (diff) | |
Implement Hash, PartialEq & Eq for riscv Register
| -rw-r--r-- | arch/riscv/src/lib.rs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/arch/riscv/src/lib.rs b/arch/riscv/src/lib.rs index 6b3451a9..dbc4ed78 100644 --- a/arch/riscv/src/lib.rs +++ b/arch/riscv/src/lib.rs @@ -6,6 +6,7 @@ use std::borrow::Cow; use std::fmt; +use std::hash::Hash; use std::marker::PhantomData; use binaryninja::relocation::{Relocation, RelocationHandlerExt}; @@ -247,6 +248,20 @@ impl<'a, D: 'static + RiscVDisassembler + Send + Sync> LiftableWithSize<'a, Risc } } +impl<D: 'static + RiscVDisassembler> Hash for Register<D> { + fn hash<H: std::hash::Hasher>(&self, state: &mut H) { + self.id.hash(state); + } +} + +impl<D: 'static + RiscVDisassembler> PartialEq for Register<D> { + fn eq(&self, other: &Self) -> bool { + self.id == other.id + } +} + +impl<D: 'static + RiscVDisassembler> Eq for Register<D> {} + impl<D: 'static + RiscVDisassembler + Send + Sync> fmt::Debug for Register<D> { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { f.write_str(self.name().as_ref()) |
