diff options
| author | Michael Krasnitski <michael.krasnitski@gmail.com> | 2023-01-06 02:21:40 -0500 |
|---|---|---|
| committer | Kyle Martin <krm504@nyu.edu> | 2023-01-10 00:11:27 -0500 |
| commit | 64713cd5b5550c5b8c61a05cc26d89d464d45bb3 (patch) | |
| tree | 3fc035eab9b9ee91a953ca804aa5298aa5a5c895 /rust/src/llil/operation.rs | |
| parent | 5b51a4ff188c426d8f90ac71ee6dde0fa3b5a495 (diff) | |
Introduce `Expression::new` to avoid writing `PhantomData` everywhere
Diffstat (limited to 'rust/src/llil/operation.rs')
| -rw-r--r-- | rust/src/llil/operation.rs | 138 |
1 files changed, 23 insertions, 115 deletions
diff --git a/rust/src/llil/operation.rs b/rust/src/llil/operation.rs index 296a45db..b998cce3 100644 --- a/rust/src/llil/operation.rs +++ b/rust/src/llil/operation.rs @@ -120,11 +120,7 @@ where } pub fn source_expr(&self) -> Expression<'func, A, M, NonSSA<V>, ValueExpr> { - Expression { - function: self.function, - expr_idx: self.op.operands[1] as usize, - _ty: PhantomData, - } + Expression::new(self.function, self.op.operands[1] as usize) } } @@ -184,11 +180,7 @@ where } pub fn source_expr(&self) -> Expression<'func, A, M, NonSSA<V>, ValueExpr> { - Expression { - function: self.function, - expr_idx: self.op.operands[2] as usize, - _ty: PhantomData, - } + Expression::new(self.function, self.op.operands[2] as usize) } } @@ -202,11 +194,7 @@ where V: NonSSAVariant, { pub fn source_expr(&self) -> Expression<'func, A, M, NonSSA<V>, ValueExpr> { - Expression { - function: self.function, - expr_idx: self.op.operands[1] as usize, - _ty: PhantomData, - } + Expression::new(self.function, self.op.operands[1] as usize) } } @@ -224,11 +212,7 @@ where } pub fn source_mem_expr(&self) -> Expression<'func, A, M, NonSSA<V>, ValueExpr> { - Expression { - function: self.function, - expr_idx: self.op.operands[0] as usize, - _ty: PhantomData, - } + Expression::new(self.function, self.op.operands[0] as usize) } } @@ -246,19 +230,11 @@ where } pub fn dest_mem_expr(&self) -> Expression<'func, A, M, NonSSA<V>, ValueExpr> { - Expression { - function: self.function, - expr_idx: self.op.operands[0] as usize, - _ty: PhantomData, - } + Expression::new(self.function, self.op.operands[0] as usize) } pub fn source_expr(&self) -> Expression<'func, A, M, NonSSA<V>, ValueExpr> { - Expression { - function: self.function, - expr_idx: self.op.operands[1] as usize, - _ty: PhantomData, - } + Expression::new(self.function, self.op.operands[1] as usize) } } @@ -313,11 +289,7 @@ where F: FunctionForm, { pub fn target(&self) -> Expression<'func, A, M, F, ValueExpr> { - Expression { - function: self.function, - expr_idx: self.op.operands[0] as usize, - _ty: PhantomData, - } + Expression::new(self.function, self.op.operands[0] as usize) } } @@ -331,11 +303,7 @@ where F: FunctionForm, { pub fn target(&self) -> Expression<'func, A, M, F, ValueExpr> { - Expression { - function: self.function, - expr_idx: self.op.operands[0] as usize, - _ty: PhantomData, - } + Expression::new(self.function, self.op.operands[0] as usize) } // TODO target list } @@ -350,11 +318,7 @@ where V: NonSSAVariant, { pub fn target(&self) -> Expression<'func, A, M, NonSSA<V>, ValueExpr> { - Expression { - function: self.function, - expr_idx: self.op.operands[0] as usize, - _ty: PhantomData, - } + Expression::new(self.function, self.op.operands[0] as usize) } pub fn stack_adjust(&self) -> Option<u64> { @@ -378,11 +342,7 @@ where F: FunctionForm, { pub fn target(&self) -> Expression<'func, A, M, F, ValueExpr> { - Expression { - function: self.function, - expr_idx: self.op.operands[0] as usize, - _ty: PhantomData, - } + Expression::new(self.function, self.op.operands[0] as usize) } } @@ -396,11 +356,7 @@ where F: FunctionForm, { pub fn condition(&self) -> Expression<'func, A, M, F, ValueExpr> { - Expression { - function: self.function, - expr_idx: self.op.operands[0] as usize, - _ty: PhantomData, - } + Expression::new(self.function, self.op.operands[0] as usize) } pub fn true_target(&self) -> Instruction<'func, A, M, F> { @@ -535,19 +491,11 @@ where } pub fn left(&self) -> Expression<'func, A, M, F, ValueExpr> { - Expression { - function: self.function, - expr_idx: self.op.operands[0] as usize, - _ty: PhantomData, - } + Expression::new(self.function, self.op.operands[0] as usize) } pub fn right(&self) -> Expression<'func, A, M, F, ValueExpr> { - Expression { - function: self.function, - expr_idx: self.op.operands[1] as usize, - _ty: PhantomData, - } + Expression::new(self.function, self.op.operands[1] as usize) } } @@ -565,27 +513,15 @@ where } pub fn left(&self) -> Expression<'func, A, M, F, ValueExpr> { - Expression { - function: self.function, - expr_idx: self.op.operands[0] as usize, - _ty: PhantomData, - } + Expression::new(self.function, self.op.operands[0] as usize) } pub fn right(&self) -> Expression<'func, A, M, F, ValueExpr> { - Expression { - function: self.function, - expr_idx: self.op.operands[1] as usize, - _ty: PhantomData, - } + Expression::new(self.function, self.op.operands[1] as usize) } pub fn carry(&self) -> Expression<'func, A, M, F, ValueExpr> { - Expression { - function: self.function, - expr_idx: self.op.operands[2] as usize, - _ty: PhantomData, - } + Expression::new(self.function, self.op.operands[2] as usize) } } @@ -603,27 +539,15 @@ where } pub fn high(&self) -> Expression<'func, A, M, F, ValueExpr> { - Expression { - function: self.function, - expr_idx: self.op.operands[0] as usize, - _ty: PhantomData, - } + Expression::new(self.function, self.op.operands[0] as usize) } pub fn low(&self) -> Expression<'func, A, M, F, ValueExpr> { - Expression { - function: self.function, - expr_idx: self.op.operands[1] as usize, - _ty: PhantomData, - } + Expression::new(self.function, self.op.operands[1] as usize) } pub fn right(&self) -> Expression<'func, A, M, F, ValueExpr> { - Expression { - function: self.function, - expr_idx: self.op.operands[2] as usize, - _ty: PhantomData, - } + Expression::new(self.function, self.op.operands[2] as usize) } } @@ -642,11 +566,7 @@ where } pub fn operand(&self) -> Expression<'func, A, M, F, ValueExpr> { - Expression { - function: self.function, - expr_idx: self.op.operands[0] as usize, - _ty: PhantomData, - } + Expression::new(self.function, self.op.operands[0] as usize) } } @@ -664,19 +584,11 @@ where } pub fn left(&self) -> Expression<'func, A, M, F, ValueExpr> { - Expression { - function: self.function, - expr_idx: self.op.operands[0] as usize, - _ty: PhantomData, - } + Expression::new(self.function, self.op.operands[0] as usize) } pub fn right(&self) -> Expression<'func, A, M, F, ValueExpr> { - Expression { - function: self.function, - expr_idx: self.op.operands[1] as usize, - _ty: PhantomData, - } + Expression::new(self.function, self.op.operands[1] as usize) } } @@ -694,11 +606,7 @@ where } pub fn mem_expr(&self) -> Expression<'func, A, M, F, ValueExpr> { - Expression { - function: self.function, - expr_idx: self.op.operands[0] as usize, - _ty: PhantomData, - } + Expression::new(self.function, self.op.operands[0] as usize) } } |
