diff options
| author | Mason Reed <mason@vector35.com> | 2025-05-10 19:24:35 -0400 |
|---|---|---|
| committer | Mason Reed <35282038+emesare@users.noreply.github.com> | 2025-05-12 17:45:24 -0400 |
| commit | 7e32ee8b629e3e4f8d061cbe0729ff961b3502d7 (patch) | |
| tree | b33eedcd9afb5422aefd1a42e95f4a9ab2e7cca0 /rust/src/low_level_il.rs | |
| parent | 4180c31fda63b6ccb9ce4ee543031fe4a5060d5f (diff) | |
[Rust] Remove `NonSSAVariant` bound from `LowLevelILFunction`
We don't do enough with the lifted il != non lifted il to justify the bound.
This makes modifying IL much less work as the historical lifted il bound is gone.
Diffstat (limited to 'rust/src/low_level_il.rs')
| -rw-r--r-- | rust/src/low_level_il.rs | 27 |
1 files changed, 14 insertions, 13 deletions
diff --git a/rust/src/low_level_il.rs b/rust/src/low_level_il.rs index 4c52e313..010fa0bc 100644 --- a/rust/src/low_level_il.rs +++ b/rust/src/low_level_il.rs @@ -36,19 +36,20 @@ use self::expression::*; use self::function::*; use self::instruction::*; -pub type MutableLiftedILFunction = LowLevelILFunction<Mutable, NonSSA<LiftedNonSSA>>; -pub type LiftedILFunction = LowLevelILFunction<Finalized, NonSSA<LiftedNonSSA>>; -pub type MutableLiftedILExpr<'a, ReturnType> = - LowLevelILExpression<'a, Mutable, NonSSA<LiftedNonSSA>, ReturnType>; -pub type RegularLowLevelILFunction = LowLevelILFunction<Finalized, NonSSA<RegularNonSSA>>; -pub type RegularLowLevelILInstruction<'a> = - LowLevelILInstruction<'a, Finalized, NonSSA<RegularNonSSA>>; -pub type RegularLowLevelILInstructionKind<'a> = - LowLevelILInstructionKind<'a, Finalized, NonSSA<RegularNonSSA>>; -pub type RegularLowLevelILExpression<'a, ReturnType> = - LowLevelILExpression<'a, Finalized, NonSSA<RegularNonSSA>, ReturnType>; -pub type RegularLowLevelILExpressionKind<'a> = - LowLevelILExpressionKind<'a, Finalized, NonSSA<RegularNonSSA>>; +/// Regular low-level IL, if you are not modifying the functions IL or needing SSA, use this. +pub type LowLevelILRegularFunction = LowLevelILFunction<Finalized, NonSSA>; +pub type LowLevelILRegularInstruction<'a> = LowLevelILInstruction<'a, Finalized, NonSSA>; +pub type LowLevelILRegularInstructionKind<'a> = LowLevelILInstructionKind<'a, Finalized, NonSSA>; +pub type LowLevelILRegularExpression<'a, ReturnType> = + LowLevelILExpression<'a, Finalized, NonSSA, ReturnType>; +pub type LowLevelILRegularExpressionKind<'a> = LowLevelILExpressionKind<'a, Finalized, NonSSA>; + +/// Mutable low-level IL, used when lifting in architectures and modifying IL in workflow activities. +pub type LowLevelILMutableFunction = LowLevelILFunction<Mutable, NonSSA>; +pub type LowLevelILMutableExpression<'a, ReturnType> = + LowLevelILExpression<'a, Mutable, NonSSA, ReturnType>; + +/// SSA Variant of low-level IL, this can never be mutated directly. pub type LowLevelILSSAFunction = LowLevelILFunction<Finalized, SSA>; #[derive(Copy, Clone, PartialEq, Eq, Hash, PartialOrd, Ord)] |
