diff options
| author | Mason Reed <mason@vector35.com> | 2025-12-07 15:03:44 -0500 |
|---|---|---|
| committer | Mason Reed <35282038+emesare@users.noreply.github.com> | 2025-12-10 17:35:19 -0500 |
| commit | 501fe3ec7a63a534fca3926a5fc4267f6886f089 (patch) | |
| tree | 0e3e64fcef0a3180950f3e8fb3758ebcbf5d02e7 /rust/src/variable.rs | |
| parent | 7090d904513c3e80321bb6a8aba9c3b37d809bac (diff) | |
[Rust] Move architecture module code into more reasonable files
To keep backwards compatibility for commonly referenced code we re-export them within the architecture module.
Also does some light refactoring of some newly added APIs to keep them more consistent with other parts of the codebase.
Diffstat (limited to 'rust/src/variable.rs')
| -rw-r--r-- | rust/src/variable.rs | 55 |
1 files changed, 0 insertions, 55 deletions
diff --git a/rust/src/variable.rs b/rust/src/variable.rs index fc6febfb..d224a45b 100644 --- a/rust/src/variable.rs +++ b/rust/src/variable.rs @@ -911,58 +911,3 @@ impl PossibleValueSet { } } } - -#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] -pub struct IndirectBranchInfo { - pub source: Location, - pub dest: Location, - pub auto_defined: bool, -} - -impl From<BNIndirectBranchInfo> for IndirectBranchInfo { - fn from(value: BNIndirectBranchInfo) -> Self { - Self { - source: Location::from_raw(value.sourceAddr, value.sourceArch), - dest: Location::from_raw(value.destAddr, value.destArch), - auto_defined: value.autoDefined, - } - } -} - -impl From<IndirectBranchInfo> for BNIndirectBranchInfo { - fn from(value: IndirectBranchInfo) -> Self { - let source_arch = value - .source - .arch - .map(|a| a.handle) - .unwrap_or(std::ptr::null_mut()); - let dest_arch = value - .source - .arch - .map(|a| a.handle) - .unwrap_or(std::ptr::null_mut()); - Self { - sourceArch: source_arch, - sourceAddr: value.source.addr, - destArch: dest_arch, - destAddr: value.dest.addr, - autoDefined: value.auto_defined, - } - } -} - -impl CoreArrayProvider for IndirectBranchInfo { - type Raw = BNIndirectBranchInfo; - type Context = (); - type Wrapped<'a> = Self; -} - -unsafe impl CoreArrayProviderInner for IndirectBranchInfo { - unsafe fn free(raw: *mut Self::Raw, _count: usize, _context: &Self::Context) { - BNFreeIndirectBranchList(raw) - } - - unsafe fn wrap_raw<'a>(raw: &'a Self::Raw, _context: &'a Self::Context) -> Self::Wrapped<'a> { - Self::from(*raw) - } -} |
