summaryrefslogtreecommitdiff
path: root/rust/src/llil
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/llil
parent7eb2b8fc3bd39324a74e02652c8f678073947812 (diff)
Clean up various builders
Diffstat (limited to 'rust/src/llil')
-rw-r--r--rust/src/llil/lifting.rs44
1 files changed, 16 insertions, 28 deletions
diff --git a/rust/src/llil/lifting.rs b/rust/src/llil/lifting.rs
index 1f019c85..a4d3c560 100644
--- a/rust/src/llil/lifting.rs
+++ b/rust/src/llil/lifting.rs
@@ -619,33 +619,7 @@ where
self
}
- pub fn into_expr(self) -> Expression<'a, A, Mutable, NonSSA<LiftedNonSSA>, R> {
- self.into()
- }
-
- pub fn with_source_operand(
- self,
- op: u32,
- ) -> Expression<'a, A, Mutable, NonSSA<LiftedNonSSA>, R> {
- let expr = self.into_expr();
- expr.with_source_operand(op)
- }
-
- pub fn append(self) {
- let expr = self.into_expr();
- let il = expr.function;
-
- il.instruction(expr);
- }
-}
-
-impl<'a, A, R> Into<Expression<'a, A, Mutable, NonSSA<LiftedNonSSA>, R>>
- for ExpressionBuilder<'a, A, R>
-where
- A: 'a + Architecture,
- R: ExpressionResultType,
-{
- fn into(self) -> Expression<'a, A, Mutable, NonSSA<LiftedNonSSA>, R> {
+ pub fn build(self) -> Expression<'a, A, Mutable, NonSSA<LiftedNonSSA>, R> {
use binaryninjacore_sys::BNLowLevelILAddExpr;
let expr_idx = unsafe {
@@ -667,6 +641,20 @@ where
_ty: PhantomData,
}
}
+
+ pub fn with_source_operand(
+ self,
+ op: u32,
+ ) -> Expression<'a, A, Mutable, NonSSA<LiftedNonSSA>, R> {
+ self.build().with_source_operand(op)
+ }
+
+ pub fn append(self) {
+ let expr = self.build();
+ let il = expr.function;
+
+ il.instruction(expr);
+ }
}
impl<'a, A, R> Liftable<'a, A> for ExpressionBuilder<'a, A, R>
@@ -682,7 +670,7 @@ where
) -> Expression<'a, A, Mutable, NonSSA<LiftedNonSSA>, Self::Result> {
debug_assert!(expr.function.handle == il.handle);
- expr.into()
+ expr.build()
}
}