diff options
Diffstat (limited to 'highlevelil.cpp')
| -rw-r--r-- | highlevelil.cpp | 22 |
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) { |
