//===-- StackFrame.h --------------------------------------------*- C++ -*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #ifndef LLDB_TARGET_STACKFRAME_H #define LLDB_TARGET_STACKFRAME_H #include <memory> #include <mutex> #include "lldb/Utility/Flags.h" #include "lldb/Core/FormatEntity.h" #include "lldb/Core/ValueObjectList.h" #include "lldb/Symbol/SymbolContext.h" #include "lldb/Target/ExecutionContextScope.h" #include "lldb/Target/StackID.h" #include "lldb/Utility/Scalar.h" #include "lldb/Utility/Status.h" #include "lldb/Utility/StreamString.h" #include "lldb/Utility/UserID.h" namespace lldb_private { /// \class StackFrame StackFrame.h "lldb/Target/StackFrame.h" /// /// This base class provides an interface to stack frames. /// /// StackFrames may have a Canonical Frame Address (CFA) or not. /// A frame may have a plain pc value or it may indicate a specific point in /// the debug session so the correct section load list is used for /// symbolication. /// /// Local variables may be available, or not. A register context may be /// available, or not. class StackFrame : public ExecutionContextScope, public std::enable_shared_from_this<StackFrame> { … }; } // namespace lldb_private #endif // LLDB_TARGET_STACKFRAME_H