diff options
Diffstat (limited to 'rust/src/function.rs')
| -rw-r--r-- | rust/src/function.rs | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/rust/src/function.rs b/rust/src/function.rs index 426f936b..ab504bb7 100644 --- a/rust/src/function.rs +++ b/rust/src/function.rs @@ -23,7 +23,7 @@ use crate::{ llil, platform::Platform, symbol::Symbol, - types::{Conf, Type}, + types::{Conf, NamedTypedVariable, Type}, }; use std::{fmt, mem}; @@ -258,6 +258,14 @@ impl Function { BNSetFunctionUserType(self.handle, t.handle); } } + + pub fn stack_layout(&self) -> Array<NamedTypedVariable> { + let mut count = 0; + unsafe { + let variables = BNGetStackLayout(self.handle, &mut count); + Array::new(variables, count, ()) + } + } } impl fmt::Debug for Function { |
