From 5d4fc5f1fb7a0c368d2a048a5d750564c970c9c9 Mon Sep 17 00:00:00 2001 From: Rusty Wagner Date: Mon, 13 Oct 2025 19:35:01 -0400 Subject: Add derived strings and string recognizer API --- highlevelil.cpp | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'highlevelil.cpp') diff --git a/highlevelil.cpp b/highlevelil.cpp index 84d74eb3..5f1323eb 100644 --- a/highlevelil.cpp +++ b/highlevelil.cpp @@ -645,6 +645,28 @@ set 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 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) { -- cgit v1.3.1