summaryrefslogtreecommitdiff
path: root/rust/src/symbol.rs
diff options
context:
space:
mode:
authorMichael Krasnitski <michael.krasnitski@gmail.com>2023-01-06 02:04:49 -0500
committerKyle Martin <krm504@nyu.edu>2023-01-10 00:11:27 -0500
commit5b51a4ff188c426d8f90ac71ee6dde0fa3b5a495 (patch)
treee7a8b87d95061e549ee48063999b838c56dba3a7 /rust/src/symbol.rs
parent7eb2b8fc3bd39324a74e02652c8f678073947812 (diff)
Clean up various builders
Diffstat (limited to 'rust/src/symbol.rs')
-rw-r--r--rust/src/symbol.rs18
1 files changed, 6 insertions, 12 deletions
diff --git a/rust/src/symbol.rs b/rust/src/symbol.rs
index 6b04582b..22c2b051 100644
--- a/rust/src/symbol.rs
+++ b/rust/src/symbol.rs
@@ -150,15 +150,11 @@ impl<S: BnStrCompatible> SymbolBuilder<S> {
let short_name = self.short_name.map(|s| s.into_bytes_with_nul());
let full_name = self.full_name.map(|s| s.into_bytes_with_nul());
- unsafe {
- let raw_name = raw_name.as_ref().as_ptr() as *mut _;
- let short_name = short_name
- .as_ref()
- .map_or(raw_name, |s| s.as_ref().as_ptr() as *mut _);
- let full_name = full_name
- .as_ref()
- .map_or(raw_name, |s| s.as_ref().as_ptr() as *mut _);
+ let raw_name = raw_name.as_ref().as_ptr() as *mut _;
+ let short_name = short_name.map_or(raw_name, |s| s.as_ref().as_ptr() as *mut _);
+ let full_name = full_name.map_or(raw_name, |s| s.as_ref().as_ptr() as *mut _);
+ unsafe {
let res = BNCreateSymbol(
self.ty.into(),
short_name,
@@ -175,6 +171,7 @@ impl<S: BnStrCompatible> SymbolBuilder<S> {
}
}
+#[derive(Eq)]
pub struct Symbol {
pub(crate) handle: *mut BNSymbol,
}
@@ -184,13 +181,12 @@ impl Symbol {
Self { handle: raw }
}
- #[allow(clippy::new_ret_no_self)]
/// To create a new symbol, you need to create a symbol builder, customize that symbol, then add `SymbolBuilder::create` it into a `Ref<Symbol>`:
///
/// ```
/// Symbol::new().short_name("hello").full_name("hello").create();
/// ```
- pub fn new<S: BnStrCompatible>(ty: SymbolType, raw_name: S, addr: u64) -> SymbolBuilder<S> {
+ pub fn builder<S: BnStrCompatible>(ty: SymbolType, raw_name: S, addr: u64) -> SymbolBuilder<S> {
SymbolBuilder::new(ty, raw_name, addr)
}
@@ -298,5 +294,3 @@ impl PartialEq for Symbol {
self.handle == other.handle
}
}
-
-impl Eq for Symbol {}