summaryrefslogtreecommitdiff
path: root/rust/examples/mlil_visitor/src
diff options
context:
space:
mode:
authorMichael Krasnitski <michael.krasnitski@gmail.com>2024-02-21 09:36:48 -0500
committerKyle Martin <krm504@nyu.edu>2024-04-09 12:19:40 -0400
commit111be980e6578e3799ded8e685ae7158027bfe55 (patch)
tree7fe0d0ea86971aa9be37835ebd0bae1a4cf18fce /rust/examples/mlil_visitor/src
parente35a98e0bf47e86f127051ee048ff724d6f10a8e (diff)
Use name method in visitor examples
Diffstat (limited to 'rust/examples/mlil_visitor/src')
-rw-r--r--rust/examples/mlil_visitor/src/main.rs138
1 files changed, 2 insertions, 136 deletions
diff --git a/rust/examples/mlil_visitor/src/main.rs b/rust/examples/mlil_visitor/src/main.rs
index 63d2f50e..c38d59f4 100644
--- a/rust/examples/mlil_visitor/src/main.rs
+++ b/rust/examples/mlil_visitor/src/main.rs
@@ -2,9 +2,7 @@ use std::env;
use binaryninja::binaryview::BinaryViewExt;
use binaryninja::mlil::MediumLevelILLiftedOperand;
-use binaryninja::mlil::{
- MediumLevelILFunction, MediumLevelILLiftedInstruction, MediumLevelILLiftedInstructionKind,
-};
+use binaryninja::mlil::{MediumLevelILFunction, MediumLevelILLiftedInstruction};
use binaryninja::types::Variable;
fn print_indent(indent: usize) {
@@ -12,139 +10,7 @@ fn print_indent(indent: usize) {
}
fn print_operation(operation: &MediumLevelILLiftedInstruction) {
- use MediumLevelILLiftedInstructionKind::*;
- match operation.kind {
- Nop => print!("Nop"),
- Noret => print!("Noret"),
- Bp => print!("Bp"),
- Undef => print!("Undef"),
- Unimpl => print!("Unimpl"),
- If(_) => print!("If"),
- FloatConst(_) => print!("FloatConst"),
- Const(_) => print!("Const"),
- ConstPtr(_) => print!("ConstPtr"),
- Import(_) => print!("Import"),
- ExternPtr(_) => print!("ExternPtr"),
- ConstData(_) => print!("ConstData"),
- Jump(_) => print!("Jump"),
- RetHint(_) => print!("RetHint"),
- StoreSsa(_) => print!("StoreSsa"),
- StoreStructSsa(_) => print!("StoreStructSsa"),
- StoreStruct(_) => print!("StoreStruct"),
- Store(_) => print!("Store"),
- JumpTo(_) => print!("JumpTo"),
- Goto(_) => print!("Goto"),
- FreeVarSlot(_) => print!("FreeVarSlot"),
- SetVarField(_) => print!("SetVarField"),
- SetVar(_) => print!("SetVar"),
- FreeVarSlotSsa(_) => print!("FreeVarSlotSsa"),
- SetVarSsaField(_) => print!("SetVarSsaField"),
- SetVarAliasedField(_) => print!("SetVarAliasedField"),
- SetVarAliased(_) => print!("SetVarAliased"),
- SetVarSsa(_) => print!("SetVarSsa"),
- VarPhi(_) => print!("VarPhi"),
- MemPhi(_) => print!("MemPhi"),
- VarSplit(_) => print!("VarSplit"),
- SetVarSplit(_) => print!("SetVarSplit"),
- VarSplitSsa(_) => print!("VarSplitSsa"),
- SetVarSplitSsa(_) => print!("SetVarSplitSsa"),
- Add(_) => print!("Add"),
- Sub(_) => print!("Sub"),
- And(_) => print!("And"),
- Or(_) => print!("Or"),
- Xor(_) => print!("Xor"),
- Lsl(_) => print!("Lsl"),
- Lsr(_) => print!("Lsr"),
- Asr(_) => print!("Asr"),
- Rol(_) => print!("Rol"),
- Ror(_) => print!("Ror"),
- Mul(_) => print!("Mul"),
- MuluDp(_) => print!("MuluDp"),
- MulsDp(_) => print!("MulsDp"),
- Divu(_) => print!("Divu"),
- DivuDp(_) => print!("DivuDp"),
- Divs(_) => print!("Divs"),
- DivsDp(_) => print!("DivsDp"),
- Modu(_) => print!("Modu"),
- ModuDp(_) => print!("ModuDp"),
- Mods(_) => print!("Mods"),
- ModsDp(_) => print!("ModsDp"),
- CmpE(_) => print!("CmpE"),
- CmpNe(_) => print!("CmpNe"),
- CmpSlt(_) => print!("CmpSlt"),
- CmpUlt(_) => print!("CmpUlt"),
- CmpSle(_) => print!("CmpSle"),
- CmpUle(_) => print!("CmpUle"),
- CmpSge(_) => print!("CmpSge"),
- CmpUge(_) => print!("CmpUge"),
- CmpSgt(_) => print!("CmpSgt"),
- CmpUgt(_) => print!("CmpUgt"),
- TestBit(_) => print!("TestBit"),
- AddOverflow(_) => print!("AddOverflow"),
- FcmpE(_) => print!("FcmpE"),
- FcmpNe(_) => print!("FcmpNe"),
- FcmpLt(_) => print!("FcmpLt"),
- FcmpLe(_) => print!("FcmpLe"),
- FcmpGe(_) => print!("FcmpGe"),
- FcmpGt(_) => print!("FcmpGt"),
- FcmpO(_) => print!("FcmpO"),
- FcmpUo(_) => print!("FcmpUo"),
- Fadd(_) => print!("Fadd"),
- Fsub(_) => print!("Fsub"),
- Fmul(_) => print!("Fmul"),
- Fdiv(_) => print!("Fdiv"),
- Adc(_) => print!("Adc"),
- Sbb(_) => print!("Sbb"),
- Rlc(_) => print!("Rlc"),
- Rrc(_) => print!("Rrc"),
- Call(_) => print!("Call"),
- Tailcall(_) => print!("Tailcall"),
- Syscall(_) => print!("Syscall"),
- Intrinsic(_) => print!("Intrinsic"),
- IntrinsicSsa(_) => print!("IntrinsicSsa"),
- CallSsa(_) => print!("CallSsa"),
- TailcallSsa(_) => print!("TailcallSsa"),
- CallUntypedSsa(_) => print!("CallUntypedSsa"),
- TailcallUntypedSsa(_) => print!("TailcallUntypedSsa"),
- SyscallSsa(_) => print!("SyscallSsa"),
- SyscallUntypedSsa(_) => print!("SyscallUntypedSsa"),
- CallUntyped(_) => print!("CallUntyped"),
- TailcallUntyped(_) => print!("TailcallUntyped"),
- SyscallUntyped(_) => print!("SyscallUntyped"),
- SeparateParamList(_) => print!("SeparateParamList"),
- SharedParamSlot(_) => print!("SharedParamSlot"),
- Neg(_) => print!("Neg"),
- Not(_) => print!("Not"),
- Sx(_) => print!("Sx"),
- Zx(_) => print!("Zx"),
- LowPart(_) => print!("LowPart"),
- BoolToInt(_) => print!("BoolToInt"),
- UnimplMem(_) => print!("UnimplMem"),
- Fsqrt(_) => print!("Fsqrt"),
- Fneg(_) => print!("Fneg"),
- Fabs(_) => print!("Fabs"),
- FloatToInt(_) => print!("FloatToInt"),
- IntToFloat(_) => print!("IntToFloat"),
- FloatConv(_) => print!("FloatConv"),
- RoundToInt(_) => print!("RoundToInt"),
- Floor(_) => print!("Floor"),
- Ceil(_) => print!("Ceil"),
- Ftrunc(_) => print!("Ftrunc"),
- Load(_) => print!("Load"),
- LoadStruct(_) => print!("LoadStruct"),
- LoadStructSsa(_) => print!("LoadStructSsa"),
- LoadSsa(_) => print!("LoadSsa"),
- Ret(_) => print!("Ret"),
- Var(_) => print!("Var"),
- AddressOf(_) => print!("AddressOf"),
- VarField(_) => print!("VarField"),
- AddressOfField(_) => print!("AddressOfField"),
- VarSsa(_) => print!("VarSsa"),
- VarAliased(_) => print!("VarAliased"),
- VarSsaField(_) => print!("VarSsaField"),
- VarAliasedField(_) => print!("VarAliasedField"),
- Trap(_) => print!("Trap"),
- }
+ print!("{}", operation.name());
}
fn print_variable(func: &MediumLevelILFunction, var: &Variable) {