summaryrefslogtreecommitdiff
path: root/rust/examples/hlil_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/hlil_visitor/src
parente35a98e0bf47e86f127051ee048ff724d6f10a8e (diff)
Use name method in visitor examples
Diffstat (limited to 'rust/examples/hlil_visitor/src')
-rw-r--r--rust/examples/hlil_visitor/src/main.rs130
1 files changed, 2 insertions, 128 deletions
diff --git a/rust/examples/hlil_visitor/src/main.rs b/rust/examples/hlil_visitor/src/main.rs
index 6d155ea1..71c283a8 100644
--- a/rust/examples/hlil_visitor/src/main.rs
+++ b/rust/examples/hlil_visitor/src/main.rs
@@ -2,9 +2,7 @@ use std::env;
use binaryninja::binaryview::BinaryViewExt;
use binaryninja::hlil::HighLevelILLiftedOperand;
-use binaryninja::hlil::{
- HighLevelILFunction, HighLevelILLiftedInstruction, HighLevelILLiftedInstructionKind,
-};
+use binaryninja::hlil::{HighLevelILFunction, HighLevelILLiftedInstruction};
use binaryninja::types::Variable;
fn print_indent(indent: usize) {
@@ -12,131 +10,7 @@ fn print_indent(indent: usize) {
}
fn print_operation(operation: &HighLevelILLiftedInstruction) {
- use HighLevelILLiftedInstructionKind::*;
- match &operation.kind {
- Adc(_) => print!("Adc"),
- Sbb(_) => print!("Sbb"),
- Rlc(_) => print!("Rlc"),
- Rrc(_) => print!("Rrc"),
- 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"),
- Fadd(_) => print!("Fadd"),
- Fsub(_) => print!("Fsub"),
- Fmul(_) => print!("Fmul"),
- Fdiv(_) => print!("Fdiv"),
- FcmpE(_) => print!("FcmpE"),
- FcmpNe(_) => print!("FcmpNe"),
- FcmpLt(_) => print!("FcmpLt"),
- FcmpLe(_) => print!("FcmpLe"),
- FcmpGe(_) => print!("FcmpGe"),
- FcmpGt(_) => print!("FcmpGt"),
- FcmpO(_) => print!("FcmpO"),
- FcmpUo(_) => print!("FcmpUo"),
- ArrayIndex(_) => print!("ArrayIndex"),
- ArrayIndexSsa(_) => print!("ArrayIndexSsa"),
- Assign(_) => print!("Assign"),
- AssignMemSsa(_) => print!("AssignMemSsa"),
- AssignUnpack(_) => print!("AssignUnpack"),
- AssignUnpackMemSsa(_) => print!("AssignUnpackMemSsa"),
- Block(_) => print!("Block"),
- Call(_) => print!("Call"),
- Tailcall(_) => print!("Tailcall"),
- CallSsa(_) => print!("CallSsa"),
- Case(_) => print!("Case"),
- Const(_) => print!("Const"),
- ConstPtr(_) => print!("ConstPtr"),
- Import(_) => print!("Import"),
- ConstData(_) => print!("ConstData"),
- Deref(_) => print!("Deref"),
- AddressOf(_) => print!("AddressOf"),
- 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"),
- DerefFieldSsa(_) => print!("DerefFieldSsa"),
- DerefSsa(_) => print!("DerefSsa"),
- ExternPtr(_) => print!("ExternPtr"),
- FloatConst(_) => print!("FloatConst"),
- For(_) => print!("For"),
- ForSsa(_) => print!("ForSsa"),
- Goto(_) => print!("Goto"),
- Label(_) => print!("Label"),
- If(_) => print!("If"),
- Intrinsic(_) => print!("Intrinsic"),
- IntrinsicSsa(_) => print!("IntrinsicSsa"),
- Jump(_) => print!("Jump"),
- MemPhi(_) => print!("MemPhi"),
- Nop => print!("Nop"),
- Break => print!("Break"),
- Continue => print!("Continue"),
- Noret => print!("Noret"),
- Unreachable => print!("Unreachable"),
- Bp => print!("Bp"),
- Undef => print!("Undef"),
- Unimpl => print!("Unimpl"),
- Ret(_) => print!("Ret"),
- Split(_) => print!("Split"),
- StructField(_) => print!("StructField"),
- DerefField(_) => print!("DerefField"),
- Switch(_) => print!("Switch"),
- Syscall(_) => print!("Syscall"),
- SyscallSsa(_) => print!("SyscallSsa"),
- Trap(_) => print!("Trap"),
- VarDeclare(_) => print!("VarDeclare"),
- Var(_) => print!("Var"),
- VarInit(_) => print!("VarInit"),
- VarInitSsa(_) => print!("VarInitSsa"),
- VarPhi(_) => print!("VarPhi"),
- VarSsa(_) => print!("VarSsa"),
- While(_) => print!("While"),
- DoWhile(_) => print!("DoWhile"),
- WhileSsa(_) => print!("WhileSsa"),
- DoWhileSsa(_) => print!("DoWhileSsa"),
- }
+ print!("{}", operation.name());
}
fn print_variable(func: &HighLevelILFunction, var: &Variable) {