32llvm::Expected<StructuredData::GenericSP>
56 return obj->GetBooleanValue();
81 return obj->GetStringValue().str();
89 "get_step_through_plan",
error, thread_sp);
103 llvm::StringRef class_string = obj->GetStringValue();
104 if (class_string.empty())
110 if (dict_sp->GetValueForKeyAsDictionary(
"extra_args", extra_args_ptr))
111 extra_args_sp = std::static_pointer_cast<StructuredData::Dictionary>(
112 extra_args_ptr->shared_from_this());
119 step_through_plan_sp->SetStopOthers(
true);
121 return step_through_plan_sp;
125 const std::vector<llvm::StringRef> ci_usages = {
126 "frame recognizer add -l <script-name> [-s <shlib> ...] "
127 "[-n <symbol> ... | -x <symbol-regex>] [-f false] "
128 "[--mangled-name-preference <mode>]"};
131 "Recognize a stack frame and provide extra information about it "
132 "(recognized arguments, exception object, stop description, "
133 "hidden/most-relevant frame).",
static llvm::raw_ostream & error(Stream &strm)
static bool RegisterPlugin(llvm::StringRef name, llvm::StringRef description, ABICreateInstance create_callback)
static bool UnregisterPlugin(ABICreateInstance create_callback)
static bool CheckStructuredDataObject(llvm::StringRef caller, T obj, Status &error)
static bool CreateInstance(lldb::ScriptLanguage language, ScriptedInterfaceUsages usages)
ScriptedPythonInterface(ScriptInterpreterPythonImpl &interpreter)
T Dispatch(llvm::StringRef method_name, Status &error, Args &&...args)
llvm::Expected< StructuredData::GenericSP > CreatePluginObject(const ScriptedMetadata &scripted_metadata, StructuredData::Generic *script_obj, Args... args)
ScriptedStackFrameRecognizerPythonInterface(ScriptInterpreterPythonImpl &interpreter)
lldb::ThreadPlanSP GetStepThroughPlan(lldb::ThreadSP thread_sp) override
lldb::StackFrameSP SelectMostRelevantFrame(lldb::StackFrameSP frame_sp) override
lldb::ValueObjectSP GetException(lldb::StackFrameSP frame_sp) override
bool ShouldHide(lldb::StackFrameSP frame_sp) override
static llvm::StringRef GetPluginNameStatic()
std::string GetStopDescription(lldb::StackFrameSP frame_sp) override
llvm::Expected< StructuredData::GenericSP > CreatePluginObject(const ScriptedMetadata &scripted_metadata) override
lldb::ValueObjectListSP GetRecognizedArguments(lldb::StackFrameSP frame_sp) override
std::shared_ptr< Dictionary > DictionarySP
std::shared_ptr< Object > ObjectSP
A class that represents a running process on the host machine.
@ eScriptedExtensionScriptedStackFrameRecognizer
std::shared_ptr< lldb_private::ThreadPlan > ThreadPlanSP
std::shared_ptr< lldb_private::StackFrame > StackFrameSP
std::shared_ptr< lldb_private::Thread > ThreadSP
std::shared_ptr< lldb_private::ValueObject > ValueObjectSP
std::shared_ptr< lldb_private::ValueObjectList > ValueObjectListSP