LLDB mainline
ScriptedStringSummaryPythonInterface.h
Go to the documentation of this file.
1//===----------------------------------------------------------------------===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
9#ifndef LLDB_SOURCE_PLUGINS_SCRIPTINTERPRETER_PYTHON_INTERFACES_SCRIPTEDSTRINGSUMMARYPYTHONINTERFACE_H
10#define LLDB_SOURCE_PLUGINS_SCRIPTINTERPRETER_PYTHON_INTERFACES_SCRIPTEDSTRINGSUMMARYPYTHONINTERFACE_H
11
13
15namespace lldb_private {
16
20 public PluginInterface {
21public:
23 ScriptInterpreterPythonImpl &interpreter);
24
25 llvm::Expected<StructuredData::GenericSP>
26 CreatePluginObject(llvm::StringRef class_name) override;
27
28 llvm::SmallVector<AbstractMethodRequirement>
30 return llvm::SmallVector<AbstractMethodRequirement>({{"get_summary", 3}});
31 }
32
33 llvm::Expected<std::string>
34 GetSummary(ValueObject &valobj, const TypeSummaryOptions &options) override;
35
36 static void Initialize();
37
38 static void Terminate();
39
40 static llvm::StringRef GetPluginNameStatic() {
41 return "ScriptedStringSummaryPythonInterface";
42 }
43
44 llvm::StringRef GetPluginName() override { return GetPluginNameStatic(); }
45};
46} // namespace lldb_private
47
48#endif // LLDB_SOURCE_PLUGINS_SCRIPTINTERPRETER_PYTHON_INTERFACES_SCRIPTEDSTRINGSUMMARYPYTHONINTERFACE_H
ScriptedPythonInterface(ScriptInterpreterPythonImpl &interpreter)
llvm::SmallVector< AbstractMethodRequirement > GetAbstractMethodRequirements() const override
llvm::Expected< StructuredData::GenericSP > CreatePluginObject(llvm::StringRef class_name) override
llvm::Expected< std::string > GetSummary(ValueObject &valobj, const TypeSummaryOptions &options) override
ScriptedStringSummaryPythonInterface(ScriptInterpreterPythonImpl &interpreter)
A class that represents a running process on the host machine.