summaryrefslogtreecommitdiff
path: root/rust/examples/mlil_visitor/src
diff options
context:
space:
mode:
authorRubens Brandao <git@rubens.io>2023-11-22 18:57:28 -0300
committerKyleMiles <krm504@nyu.edu>2024-02-02 13:32:45 -0500
commitf682ca69b356755fe6c06bcdd8f4fab73f7d2c78 (patch)
tree3cfc324cfe8043ccc8db1161f1f90c448d097c8a /rust/examples/mlil_visitor/src
parente1a6bdcd576f7caeaa6f97ff1e337a259057b333 (diff)
Rust API : Add HLIL Bindings
Diffstat (limited to 'rust/examples/mlil_visitor/src')
-rw-r--r--rust/examples/mlil_visitor/src/main.rs10
1 files changed, 6 insertions, 4 deletions
diff --git a/rust/examples/mlil_visitor/src/main.rs b/rust/examples/mlil_visitor/src/main.rs
index 3df005a7..403f239e 100644
--- a/rust/examples/mlil_visitor/src/main.rs
+++ b/rust/examples/mlil_visitor/src/main.rs
@@ -2,15 +2,15 @@ use std::env;
use binaryninja::binaryview::BinaryViewExt;
use binaryninja::mlil::operation::MediumLevelILOperand;
-use binaryninja::mlil::{MediumLevelILFunction, MediumLevelILInstruction, MediumLevelILOperation};
+use binaryninja::mlil::{MediumLevelILFunction, MediumLevelILInstruction};
use binaryninja::types::Variable;
fn print_indent(indent: usize) {
print!("{:<indent$}", "")
}
-fn print_operation(operation: &MediumLevelILOperation) {
- use MediumLevelILOperation::*;
+fn print_operation(operation: &MediumLevelILInstruction) {
+ use MediumLevelILInstruction::*;
match operation {
Nop(_) => print!("Nop"),
Noret(_) => print!("Noret"),
@@ -151,7 +151,7 @@ fn print_variable(func: &MediumLevelILFunction, var: &Variable) {
fn print_il_expr(instr: &MediumLevelILInstruction, mut indent: usize) {
print_indent(indent);
- print_operation(instr.operation());
+ print_operation(instr);
println!("");
indent += 1;
@@ -221,6 +221,8 @@ fn print_il_expr(instr: &MediumLevelILInstruction, mut indent: usize) {
}
println!();
}
+ ConstantData(_) => println!("contantdata"),
+ Intrinsic(intrinsic) => println!("intrinsic {}", intrinsic.name()),
}
}
}