summaryrefslogtreecommitdiff
path: root/function.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'function.cpp')
-rw-r--r--function.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/function.cpp b/function.cpp
index 6c74dfc9..811e64c3 100644
--- a/function.cpp
+++ b/function.cpp
@@ -1358,6 +1358,23 @@ bool Function::GetStackVariableAtFrameOffset(
}
+bool Function::GetStackVariableAtFrameOffsetAfterInstruction(
+ Architecture* arch, uint64_t addr, int64_t offset, VariableNameAndType& result)
+{
+ BNVariableNameAndType var;
+ if (!BNGetStackVariableAtFrameOffsetAfterInstruction(m_object, arch->GetObject(), addr, offset, &var))
+ return false;
+
+ result.type = Confidence<Ref<Type>>(new Type(BNNewTypeReference(var.type)), var.typeConfidence);
+ result.name = var.name;
+ result.var = var.var;
+ result.autoDefined = var.autoDefined;
+
+ BNFreeVariableNameAndType(&var);
+ return true;
+}
+
+
map<Variable, VariableNameAndType> Function::GetVariables()
{
size_t count;