26llvm::Expected<StructuredData::GenericSP>
28 llvm::StringRef class_name) {
29 if (class_name.empty())
30 return llvm::createStringError(
"empty class name");
38 llvm::Expected<StructuredData::ObjectSP> obj_or_err =
41 return obj_or_err.takeError();
44 if (!obj || !obj->IsValid())
45 return llvm::createStringError(
"get_summary returned no summary string");
47 return obj->GetStringValue().str();
51 const std::vector<llvm::StringRef> ci_usages = {
52 "type summary add -L <ClassName> [-K <key> -V <value> ...] <TypeName>"};
53 const std::vector<llvm::StringRef> api_usages = {
54 "SBTypeSummary.CreateWithClassName"};
57 "Provide a summary string for a type, used by 'type summary add -l'",
static bool RegisterPlugin(llvm::StringRef name, llvm::StringRef description, ABICreateInstance create_callback)
static bool UnregisterPlugin(ABICreateInstance create_callback)
static bool CreateInstance(lldb::ScriptLanguage language, ScriptedInterfaceUsages usages)
ScriptedPythonInterface(ScriptInterpreterPythonImpl &interpreter)
llvm::Expected< T > Dispatch(llvm::StringRef method_name, Args &&...args)
Call method_name on the scripted object.
llvm::Expected< StructuredData::GenericSP > CreatePluginObject(const ScriptedMetadata &scripted_metadata, StructuredData::Generic *script_obj, Args... args)
llvm::Expected< StructuredData::GenericSP > CreatePluginObject(llvm::StringRef class_name) override
llvm::Expected< std::string > GetSummary(ValueObject &valobj, const TypeSummaryOptions &options) override
static llvm::StringRef GetPluginNameStatic()
ScriptedStringSummaryPythonInterface(ScriptInterpreterPythonImpl &interpreter)
std::shared_ptr< Object > ObjectSP
lldb::ValueObjectSP GetSP()
A class that represents a running process on the host machine.
@ eScriptedExtensionScriptedStringSummary