summaryrefslogtreecommitdiff
path: root/rust/src/references.rs
diff options
context:
space:
mode:
authorRubens Brandao <git@rubens.io>2024-05-03 13:28:53 -0300
committerKyle Martin <krm504@nyu.edu>2024-05-10 12:00:27 -0400
commitea7a22b16fc56c23af397dd690c6c839dfb3a8f1 (patch)
tree45f3ba19172017694388ab6f7266e23df76bb670 /rust/src/references.rs
parent015314d34d073a8ebbd958edf8150a81381f12c2 (diff)
hide array implementation details
Diffstat (limited to 'rust/src/references.rs')
-rw-r--r--rust/src/references.rs18
1 files changed, 5 insertions, 13 deletions
diff --git a/rust/src/references.rs b/rust/src/references.rs
index 8b4ebb87..d12c33c5 100644
--- a/rust/src/references.rs
+++ b/rust/src/references.rs
@@ -1,6 +1,6 @@
use crate::architecture::CoreArchitecture;
use crate::function::Function;
-use crate::rc::{CoreArrayProvider, CoreArrayWrapper, CoreOwnedArrayProvider, Guard, Ref};
+use crate::rc::{CoreArrayProvider, CoreArrayProviderInner, Guard, Ref};
use binaryninjacore_sys::{BNFreeCodeReferences, BNFreeDataReferences, BNReferenceSource};
use std::mem::ManuallyDrop;
@@ -56,17 +56,13 @@ impl<'a> CodeReference {
impl CoreArrayProvider for CodeReference {
type Raw = BNReferenceSource;
type Context = ();
+ type Wrapped<'a> = Guard<'a, CodeReference>;
}
-unsafe impl CoreOwnedArrayProvider for CodeReference {
+unsafe impl CoreArrayProviderInner for CodeReference {
unsafe fn free(raw: *mut Self::Raw, count: usize, _context: &Self::Context) {
BNFreeCodeReferences(raw, count)
}
-}
-
-unsafe impl CoreArrayWrapper for CodeReference {
- type Wrapped<'a> = Guard<'a, CodeReference>;
-
unsafe fn wrap_raw<'a>(raw: &'a Self::Raw, _context: &'a Self::Context) -> Self::Wrapped<'a> {
Guard::new(CodeReference::new(raw), &())
}
@@ -77,17 +73,13 @@ unsafe impl CoreArrayWrapper for CodeReference {
impl CoreArrayProvider for DataReference {
type Raw = u64;
type Context = ();
+ type Wrapped<'a> = DataReference;
}
-unsafe impl CoreOwnedArrayProvider for DataReference {
+unsafe impl CoreArrayProviderInner for DataReference {
unsafe fn free(raw: *mut Self::Raw, _count: usize, _context: &Self::Context) {
BNFreeDataReferences(raw)
}
-}
-
-unsafe impl CoreArrayWrapper for DataReference {
- type Wrapped<'a> = DataReference;
-
unsafe fn wrap_raw<'a>(raw: &'a Self::Raw, _context: &'a Self::Context) -> Self::Wrapped<'a> {
DataReference { address: *raw }
}