summaryrefslogtreecommitdiff
path: root/highlevelil.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'highlevelil.cpp')
-rw-r--r--highlevelil.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/highlevelil.cpp b/highlevelil.cpp
index 84d74eb3..5f1323eb 100644
--- a/highlevelil.cpp
+++ b/highlevelil.cpp
@@ -645,6 +645,28 @@ set<SSAVariable> HighLevelILFunction::GetSSAVariables()
}
+void HighLevelILFunction::SetDerivedStringReferenceForExpr(size_t expr, const DerivedString& str)
+{
+ BNDerivedString strObj = str.ToAPIObject(false);
+ BNSetHighLevelILDerivedStringReferenceForExpr(m_object, expr, &strObj);
+}
+
+
+void HighLevelILFunction::RemoveDerivedStringReferenceForExpr(size_t expr)
+{
+ BNRemoveHighLevelILDerivedStringReferenceForExpr(m_object, expr);
+}
+
+
+optional<DerivedString> HighLevelILFunction::GetDerivedStringReferenceForExpr(size_t expr)
+{
+ BNDerivedString str;
+ if (!BNGetHighLevelILDerivedStringReferenceForExpr(m_object, expr, &str))
+ return std::nullopt;
+ return DerivedString::FromAPIObject(&str, true);
+}
+
+
HighLevelILTokenEmitter::CurrentExprGuard::CurrentExprGuard(HighLevelILTokenEmitter& parent, const BNTokenEmitterExpr& expr):
m_parent(&parent)
{