summaryrefslogtreecommitdiff
path: root/lldb/source/API/SBFrame.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/source/API/SBFrame.cpp')
-rw-r--r--lldb/source/API/SBFrame.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/lldb/source/API/SBFrame.cpp b/lldb/source/API/SBFrame.cpp
index b12cfceacd75..b6724bb0c411 100644
--- a/lldb/source/API/SBFrame.cpp
+++ b/lldb/source/API/SBFrame.cpp
@@ -1118,6 +1118,22 @@ bool SBFrame::IsArtificial() const {
return false;
}
+bool SBFrame::IsSynthetic() const {
+ LLDB_INSTRUMENT_VA(this);
+
+ llvm::Expected<StoppedExecutionContext> exe_ctx =
+ GetStoppedExecutionContext(m_opaque_sp);
+ if (!exe_ctx) {
+ LLDB_LOG_ERROR(GetLog(LLDBLog::API), exe_ctx.takeError(), "{0}");
+ return false;
+ }
+
+ if (StackFrame *frame = exe_ctx->GetFramePtr())
+ return frame->IsSynthetic();
+
+ return false;
+}
+
bool SBFrame::IsHidden() const {
LLDB_INSTRUMENT_VA(this);