summaryrefslogtreecommitdiff
path: root/rust/src/llil/expression.rs
diff options
context:
space:
mode:
authorMason Reed <mason@vector35.com>2024-08-09 13:28:14 -0700
committerMason Reed <mason@vector35.com>2024-09-22 19:18:59 -0400
commit2b05272e4f369bb261eea72832696496cfabd6a0 (patch)
tree9635f98aaa95c31d85cef06c5837dbbcdf1842fb /rust/src/llil/expression.rs
parent23cd21bceaf3b9f47306653a9430393ef6824e8b (diff)
Add LLIL_EXTERN_PTR to rust api
Diffstat (limited to 'rust/src/llil/expression.rs')
-rw-r--r--rust/src/llil/expression.rs9
1 files changed, 9 insertions, 0 deletions
diff --git a/rust/src/llil/expression.rs b/rust/src/llil/expression.rs
index 4339787b..94fd52ed 100644
--- a/rust/src/llil/expression.rs
+++ b/rust/src/llil/expression.rs
@@ -98,6 +98,8 @@ where
LLIL_CONST => ExprInfo::Const(Operation::new(function, op)),
LLIL_CONST_PTR => ExprInfo::ConstPtr(Operation::new(function, op)),
+ LLIL_EXTERN_PTR => ExprInfo::ExternPtr(Operation::new(function, op)),
+
LLIL_ADD => ExprInfo::Add(Operation::new(function, op)),
LLIL_ADC => ExprInfo::Adc(Operation::new(function, op)),
LLIL_SUB => ExprInfo::Sub(Operation::new(function, op)),
@@ -392,6 +394,7 @@ where
ConstPtr(Operation<'func, A, M, F, operation::Const>),
Flag(Operation<'func, A, M, F, operation::Flag>),
FlagBit(Operation<'func, A, M, F, operation::FlagBit>),
+ ExternPtr(Operation<'func, A, M, F, operation::Extern>),
Add(Operation<'func, A, M, F, operation::BinaryOp>),
Adc(Operation<'func, A, M, F, operation::BinaryOpCarry>),
@@ -608,6 +611,8 @@ where
Const(ref op) | ConstPtr(ref op) => &op.op,
+ ExternPtr(ref op) => &op.op,
+
Adc(ref op) | Sbb(ref op) | Rlc(ref op) | Rrc(ref op) => &op.op,
Add(ref op) | Sub(ref op) | And(ref op) | Or(ref op) | Xor(ref op) | Lsl(ref op)
@@ -663,6 +668,8 @@ where
Const(ref op) | ConstPtr(ref op) => op.flag_write(),
+ ExternPtr(ref op) => op.flag_write(),
+
Adc(ref op) | Sbb(ref op) | Rlc(ref op) | Rrc(ref op) => op.flag_write(),
Add(ref op) | Sub(ref op) | And(ref op) | Or(ref op) | Xor(ref op) | Lsl(ref op)
@@ -775,6 +782,8 @@ where
Const(ref op) | ConstPtr(ref op) => write!(f, "0x{:x}", op.value()),
+ ExternPtr(ref op) => write!(f, "0x{:x}", op.value()),
+
Adc(ref op) | Sbb(ref op) | Rlc(ref op) | Rrc(ref op) => {
let left = op.left();
let right = op.right();