#include <cstring>
#include <iostream>
#include <memory>
#include "CPPLanguageRuntime.h"
#include "llvm/ADT/StringRef.h"
#include "lldb/Symbol/Block.h"
#include "lldb/Symbol/Variable.h"
#include "lldb/Symbol/VariableList.h"
#include "lldb/Core/PluginManager.h"
#include "lldb/Core/UniqueCStringMap.h"
#include "lldb/Symbol/CompileUnit.h"
#include "lldb/Target/ABI.h"
#include "lldb/Target/ExecutionContext.h"
#include "lldb/Target/RegisterContext.h"
#include "lldb/Target/SectionLoadList.h"
#include "lldb/Target/StackFrame.h"
#include "lldb/Target/StackFrameRecognizer.h"
#include "lldb/Target/ThreadPlanRunToAddress.h"
#include "lldb/Target/ThreadPlanStepInRange.h"
#include "lldb/Utility/Timer.h"
usingnamespacelldb;
usingnamespacelldb_private;
static ConstString g_this = …;
static ConstString g_promise = …;
static ConstString g_coro_frame = …;
char CPPLanguageRuntime::ID = …;
class LibCXXFrameRecognizer : public StackFrameRecognizer { … };
CPPLanguageRuntime::CPPLanguageRuntime(Process *process)
: … { … }
bool CPPLanguageRuntime::IsAllowedRuntimeValue(ConstString name) { … }
llvm::Error CPPLanguageRuntime::GetObjectDescription(Stream &str,
ValueObject &object) { … }
llvm::Error
CPPLanguageRuntime::GetObjectDescription(Stream &str, Value &value,
ExecutionContextScope *exe_scope) { … }
bool contains_lambda_identifier(llvm::StringRef &str_ref) { … }
CPPLanguageRuntime::LibCppStdFunctionCallableInfo
line_entry_helper(Target &target, const SymbolContext &sc, Symbol *symbol,
llvm::StringRef first_template_param_sref, bool has_invoke) { … }
CPPLanguageRuntime::LibCppStdFunctionCallableInfo
CPPLanguageRuntime::FindLibCppStdFunctionCallableInfo(
lldb::ValueObjectSP &valobj_sp) { … }
lldb::ThreadPlanSP
CPPLanguageRuntime::GetStepThroughTrampolinePlan(Thread &thread,
bool stop_others) { … }