Remove virtual and add override for lots of function.

Effeted pathes:
* Host/posix/*
* Platform/gdb-server/*
* Process/Linux/*
* Process/POSIX/*

llvm-svn: 233193
This commit is contained in:
Tamas Berghammer 2015-03-25 15:37:56 +00:00
parent 327ec24b4d
commit d542efde8b
10 changed files with 190 additions and 190 deletions

View File

@ -29,13 +29,13 @@ class HostProcessPosix : public HostNativeProcessBase
virtual Error Signal(int signo) const;
static Error Signal(lldb::process_t process, int signo);
virtual Error Terminate();
virtual Error GetMainModule(FileSpec &file_spec) const;
Error Terminate() override;
Error GetMainModule(FileSpec &file_spec) const override;
virtual lldb::pid_t GetProcessId() const;
virtual bool IsRunning() const;
lldb::pid_t GetProcessId() const override;
bool IsRunning() const override;
virtual HostThread StartMonitoring(HostProcess::MonitorCallback callback, void *callback_baton, bool monitor_signals);
HostThread StartMonitoring(HostProcess::MonitorCallback callback, void *callback_baton, bool monitor_signals) override;
};
}

View File

@ -24,8 +24,8 @@ class HostThreadPosix : public HostNativeThreadBase
HostThreadPosix(lldb::thread_t thread);
virtual ~HostThreadPosix();
virtual Error Join(lldb::thread_result_t *result);
virtual Error Cancel();
Error Join(lldb::thread_result_t *result) override;
Error Cancel() override;
Error Detach();
};

View File

@ -18,7 +18,7 @@ namespace lldb_private
class ProcessLauncherPosix : public ProcessLauncher
{
public:
virtual HostProcess LaunchProcess(const ProcessLaunchInfo &launch_info, Error &error);
HostProcess LaunchProcess(const ProcessLaunchInfo &launch_info, Error &error) override;
};
}

View File

@ -47,14 +47,14 @@ public:
//------------------------------------------------------------
// lldb_private::PluginInterface functions
//------------------------------------------------------------
virtual lldb_private::ConstString
GetPluginName()
lldb_private::ConstString
GetPluginName() override
{
return GetPluginNameStatic();
}
virtual uint32_t
GetPluginVersion()
uint32_t
GetPluginVersion() override
{
return 1;
}
@ -63,158 +63,158 @@ public:
//------------------------------------------------------------
// lldb_private::Platform functions
//------------------------------------------------------------
virtual lldb_private::Error
lldb_private::Error
ResolveExecutable (const lldb_private::ModuleSpec &module_spec,
lldb::ModuleSP &module_sp,
const lldb_private::FileSpecList *module_search_paths_ptr);
const lldb_private::FileSpecList *module_search_paths_ptr) override;
virtual bool
bool
GetModuleSpec (const lldb_private::FileSpec& module_file_spec,
const lldb_private::ArchSpec& arch,
lldb_private::ModuleSpec &module_spec);
lldb_private::ModuleSpec &module_spec) override;
virtual const char *
GetDescription ();
const char *
GetDescription () override;
virtual lldb_private::Error
lldb_private::Error
GetFileWithUUID (const lldb_private::FileSpec &platform_file,
const lldb_private::UUID *uuid_ptr,
lldb_private::FileSpec &local_file);
lldb_private::FileSpec &local_file) override;
virtual bool
bool
GetProcessInfo (lldb::pid_t pid,
lldb_private::ProcessInstanceInfo &proc_info);
lldb_private::ProcessInstanceInfo &proc_info) override;
virtual uint32_t
uint32_t
FindProcesses (const lldb_private::ProcessInstanceInfoMatch &match_info,
lldb_private::ProcessInstanceInfoList &process_infos);
lldb_private::ProcessInstanceInfoList &process_infos) override;
virtual lldb_private::Error
LaunchProcess (lldb_private::ProcessLaunchInfo &launch_info);
lldb_private::Error
LaunchProcess (lldb_private::ProcessLaunchInfo &launch_info) override;
virtual lldb_private::Error
KillProcess (const lldb::pid_t pid);
lldb_private::Error
KillProcess (const lldb::pid_t pid) override;
virtual lldb::ProcessSP
lldb::ProcessSP
DebugProcess (lldb_private::ProcessLaunchInfo &launch_info,
lldb_private::Debugger &debugger,
lldb_private::Target *target, // Can be NULL, if NULL create a new target, else use existing one
lldb_private::Error &error);
lldb_private::Error &error) override;
virtual lldb::ProcessSP
lldb::ProcessSP
Attach (lldb_private::ProcessAttachInfo &attach_info,
lldb_private::Debugger &debugger,
lldb_private::Target *target, // Can be NULL, if NULL create a new target, else use existing one
lldb_private::Error &error);
lldb_private::Error &error) override;
virtual bool
GetSupportedArchitectureAtIndex (uint32_t idx, lldb_private::ArchSpec &arch);
bool
GetSupportedArchitectureAtIndex (uint32_t idx, lldb_private::ArchSpec &arch) override;
virtual size_t
size_t
GetSoftwareBreakpointTrapOpcode (lldb_private::Target &target,
lldb_private::BreakpointSite *bp_site);
lldb_private::BreakpointSite *bp_site) override;
virtual bool
GetRemoteOSVersion ();
bool
GetRemoteOSVersion () override;
virtual bool
GetRemoteOSBuildString (std::string &s);
bool
GetRemoteOSBuildString (std::string &s) override;
virtual bool
GetRemoteOSKernelDescription (std::string &s);
bool
GetRemoteOSKernelDescription (std::string &s) override;
// Remote Platform subclasses need to override this function
virtual lldb_private::ArchSpec
GetRemoteSystemArchitecture ();
lldb_private::ArchSpec
GetRemoteSystemArchitecture () override;
virtual lldb_private::ConstString
GetRemoteWorkingDirectory();
lldb_private::ConstString
GetRemoteWorkingDirectory() override;
virtual bool
SetRemoteWorkingDirectory(const lldb_private::ConstString &path);
bool
SetRemoteWorkingDirectory(const lldb_private::ConstString &path) override;
// Remote subclasses should override this and return a valid instance
// name if connected.
virtual const char *
GetHostname ();
const char *
GetHostname () override;
virtual const char *
GetUserName (uint32_t uid);
const char *
GetUserName (uint32_t uid) override;
virtual const char *
GetGroupName (uint32_t gid);
const char *
GetGroupName (uint32_t gid) override;
virtual bool
IsConnected () const;
bool
IsConnected () const override;
virtual lldb_private::Error
ConnectRemote (lldb_private::Args& args);
lldb_private::Error
ConnectRemote (lldb_private::Args& args) override;
virtual lldb_private::Error
DisconnectRemote ();
lldb_private::Error
DisconnectRemote () override;
virtual lldb_private::Error
MakeDirectory (const char *path, uint32_t file_permissions);
lldb_private::Error
MakeDirectory (const char *path, uint32_t file_permissions) override;
virtual lldb_private::Error
GetFilePermissions (const char *path, uint32_t &file_permissions);
lldb_private::Error
GetFilePermissions (const char *path, uint32_t &file_permissions) override;
virtual lldb_private::Error
SetFilePermissions (const char *path, uint32_t file_permissions);
lldb_private::Error
SetFilePermissions (const char *path, uint32_t file_permissions) override;
virtual lldb::user_id_t
lldb::user_id_t
OpenFile (const lldb_private::FileSpec& file_spec,
uint32_t flags,
uint32_t mode,
lldb_private::Error &error);
lldb_private::Error &error) override;
virtual bool
bool
CloseFile (lldb::user_id_t fd,
lldb_private::Error &error);
lldb_private::Error &error) override;
virtual uint64_t
uint64_t
ReadFile (lldb::user_id_t fd,
uint64_t offset,
void *data_ptr,
uint64_t len,
lldb_private::Error &error);
lldb_private::Error &error) override;
virtual uint64_t
uint64_t
WriteFile (lldb::user_id_t fd,
uint64_t offset,
const void* data,
uint64_t len,
lldb_private::Error &error);
lldb_private::Error &error) override;
virtual lldb::user_id_t
GetFileSize (const lldb_private::FileSpec& file_spec);
lldb::user_id_t
GetFileSize (const lldb_private::FileSpec& file_spec) override;
virtual lldb_private::Error
lldb_private::Error
PutFile (const lldb_private::FileSpec& source,
const lldb_private::FileSpec& destination,
uint32_t uid = UINT32_MAX,
uint32_t gid = UINT32_MAX);
uint32_t gid = UINT32_MAX) override;
virtual lldb_private::Error
CreateSymlink (const char *src, const char *dst);
lldb_private::Error
CreateSymlink (const char *src, const char *dst) override;
virtual bool
GetFileExists (const lldb_private::FileSpec& file_spec);
bool
GetFileExists (const lldb_private::FileSpec& file_spec) override;
virtual lldb_private::Error
Unlink (const char *path);
lldb_private::Error
Unlink (const char *path) override;
virtual lldb_private::Error
RunShellCommand (const char *command, // Shouldn't be NULL
const char *working_dir, // Pass NULL to use the current working directory
int *status_ptr, // Pass NULL if you don't want the process exit status
int *signo_ptr, // Pass NULL if you don't want the signal that caused the process to exit
std::string *command_output, // Pass NULL if you don't want the command output
uint32_t timeout_sec); // Timeout in seconds to wait for shell program to finish
lldb_private::Error
RunShellCommand (const char *command, // Shouldn't be NULL
const char *working_dir, // Pass NULL to use the current working directory
int *status_ptr, // Pass NULL if you don't want the process exit status
int *signo_ptr, // Pass NULL if you don't want the signal that caused the process to exit
std::string *command_output, // Pass NULL if you don't want the command output
uint32_t timeout_sec) override; // Timeout in seconds to wait for shell program to finish
virtual void
CalculateTrapHandlerSymbolNames ();
void
CalculateTrapHandlerSymbolNames () override;
protected:
GDBRemoteCommunicationClient m_gdb_client;

View File

@ -32,8 +32,8 @@ public:
// LinuxThread internal API.
// POSIXThread override
virtual void
RefreshStateAfterStop();
void
RefreshStateAfterStop() override;
};
#endif // #ifndef liblldb_LinuxThread_H_

View File

@ -601,7 +601,7 @@ namespace
m_value(value)
{ }
void Execute(NativeProcessLinux *monitor);
void Execute(NativeProcessLinux *monitor) override;
private:
lldb::tid_t m_tid;
@ -683,7 +683,7 @@ namespace
m_value(value)
{ }
void Execute(NativeProcessLinux *monitor);
void Execute(NativeProcessLinux *monitor) override;
private:
lldb::tid_t m_tid;
@ -754,7 +754,7 @@ namespace
: m_tid(tid), m_buf(buf), m_buf_size(buf_size)
{ }
void Execute(NativeProcessLinux *monitor);
void Execute(NativeProcessLinux *monitor) override;
private:
lldb::tid_t m_tid;
@ -789,7 +789,7 @@ namespace
m_buf_size(buf_size)
{ }
void Execute(NativeProcessLinux *monitor);
void Execute(NativeProcessLinux *monitor) override;
private:
lldb::tid_t m_tid;
@ -822,7 +822,7 @@ namespace
: m_tid(tid), m_buf(buf), m_buf_size(buf_size), m_regset(regset)
{ }
void Execute(NativeProcessLinux *monitor);
void Execute(NativeProcessLinux *monitor) override;
private:
lldb::tid_t m_tid;
@ -847,7 +847,7 @@ namespace
: m_tid(tid), m_buf(buf), m_buf_size(buf_size)
{ }
void Execute(NativeProcessLinux *monitor);
void Execute(NativeProcessLinux *monitor) override;
private:
lldb::tid_t m_tid;
@ -880,7 +880,7 @@ namespace
: m_tid(tid), m_buf(buf), m_buf_size(buf_size)
{ }
void Execute(NativeProcessLinux *monitor);
void Execute(NativeProcessLinux *monitor) override;
private:
lldb::tid_t m_tid;
@ -913,7 +913,7 @@ namespace
: m_tid(tid), m_buf(buf), m_buf_size(buf_size), m_regset(regset)
{ }
void Execute(NativeProcessLinux *monitor);
void Execute(NativeProcessLinux *monitor) override;
private:
lldb::tid_t m_tid;
@ -937,7 +937,7 @@ namespace
ResumeOperation(lldb::tid_t tid, uint32_t signo) :
m_tid(tid), m_signo(signo) { }
void Execute(NativeProcessLinux *monitor);
void Execute(NativeProcessLinux *monitor) override;
private:
lldb::tid_t m_tid;
@ -971,7 +971,7 @@ namespace
SingleStepOperation(lldb::tid_t tid, uint32_t signo)
: m_tid(tid), m_signo(signo) { }
void Execute(NativeProcessLinux *monitor);
void Execute(NativeProcessLinux *monitor) override;
private:
lldb::tid_t m_tid;
@ -998,7 +998,7 @@ namespace
SiginfoOperation(lldb::tid_t tid, void *info)
: m_tid(tid), m_info(info) { }
void Execute(NativeProcessLinux *monitor);
void Execute(NativeProcessLinux *monitor) override;
private:
lldb::tid_t m_tid;
@ -1020,7 +1020,7 @@ namespace
EventMessageOperation(lldb::tid_t tid, unsigned long *message)
: m_tid(tid), m_message(message) { }
void Execute(NativeProcessLinux *monitor);
void Execute(NativeProcessLinux *monitor) override;
private:
lldb::tid_t m_tid;
@ -1038,7 +1038,7 @@ namespace
public:
DetachOperation(lldb::tid_t tid) : m_tid(tid) { }
void Execute(NativeProcessLinux *monitor);
void Execute(NativeProcessLinux *monitor) override;
private:
lldb::tid_t m_tid;

View File

@ -53,23 +53,23 @@ public:
lldb_private::Listener &listener,
lldb_private::FileSpec *core_file);
virtual lldb_private::Error
DoDetach(bool keep_stopped);
lldb_private::Error
DoDetach(bool keep_stopped) override;
virtual bool
DetachRequiresHalt() { return true; }
bool
DetachRequiresHalt() override { return true; }
virtual bool
UpdateThreadList(lldb_private::ThreadList &old_thread_list, lldb_private::ThreadList &new_thread_list);
bool
UpdateThreadList(lldb_private::ThreadList &old_thread_list, lldb_private::ThreadList &new_thread_list) override;
//------------------------------------------------------------------
// PluginInterface protocol
//------------------------------------------------------------------
virtual lldb_private::ConstString
GetPluginName();
lldb_private::ConstString
GetPluginName() override;
virtual uint32_t
GetPluginVersion();
uint32_t
GetPluginVersion() override;
virtual void
GetPluginCommandHelp(const char *command, lldb_private::Stream *strm);
@ -82,17 +82,17 @@ public:
EnablePluginLogging(lldb_private::Stream *strm,
lldb_private::Args &command);
virtual bool
CanDebug(lldb_private::Target &target, bool plugin_specified_by_name);
bool
CanDebug(lldb_private::Target &target, bool plugin_specified_by_name) override;
//------------------------------------------------------------------
// ProcessPOSIX overrides
//------------------------------------------------------------------
virtual void
StopAllThreads(lldb::tid_t stop_tid);
void
StopAllThreads(lldb::tid_t stop_tid) override;
virtual POSIXThread *
CreateNewPOSIXThread(lldb_private::Process &process, lldb::tid_t tid);
POSIXThread *
CreateNewPOSIXThread(lldb_private::Process &process, lldb::tid_t tid) override;
private:

View File

@ -438,7 +438,7 @@ public:
m_error(error), m_result(result)
{ }
void Execute(ProcessMonitor *monitor);
void Execute(ProcessMonitor *monitor) override;
private:
lldb::addr_t m_addr;
@ -468,7 +468,7 @@ public:
m_error(error), m_result(result)
{ }
void Execute(ProcessMonitor *monitor);
void Execute(ProcessMonitor *monitor) override;
private:
lldb::addr_t m_addr;
@ -499,7 +499,7 @@ public:
m_value(value), m_result(result)
{ }
void Execute(ProcessMonitor *monitor);
void Execute(ProcessMonitor *monitor) override;
private:
lldb::tid_t m_tid;
@ -584,7 +584,7 @@ public:
m_value(value), m_result(result)
{ }
void Execute(ProcessMonitor *monitor);
void Execute(ProcessMonitor *monitor) override;
private:
lldb::tid_t m_tid;
@ -669,7 +669,7 @@ public:
: m_tid(tid), m_buf(buf), m_buf_size(buf_size), m_result(result)
{ }
void Execute(ProcessMonitor *monitor);
void Execute(ProcessMonitor *monitor) override;
private:
lldb::tid_t m_tid;
@ -709,7 +709,7 @@ public:
: m_tid(tid), m_buf(buf), m_buf_size(buf_size), m_result(result)
{ }
void Execute(ProcessMonitor *monitor);
void Execute(ProcessMonitor *monitor) override;
private:
lldb::tid_t m_tid;
@ -749,7 +749,7 @@ public:
: m_tid(tid), m_buf(buf), m_buf_size(buf_size), m_regset(regset), m_result(result)
{ }
void Execute(ProcessMonitor *monitor);
void Execute(ProcessMonitor *monitor) override;
private:
lldb::tid_t m_tid;
@ -778,7 +778,7 @@ public:
: m_tid(tid), m_buf(buf), m_buf_size(buf_size), m_result(result)
{ }
void Execute(ProcessMonitor *monitor);
void Execute(ProcessMonitor *monitor) override;
private:
lldb::tid_t m_tid;
@ -818,7 +818,7 @@ public:
: m_tid(tid), m_buf(buf), m_buf_size(buf_size), m_result(result)
{ }
void Execute(ProcessMonitor *monitor);
void Execute(ProcessMonitor *monitor) override;
private:
lldb::tid_t m_tid;
@ -858,7 +858,7 @@ public:
: m_tid(tid), m_buf(buf), m_buf_size(buf_size), m_regset(regset), m_result(result)
{ }
void Execute(ProcessMonitor *monitor);
void Execute(ProcessMonitor *monitor) override;
private:
lldb::tid_t m_tid;
@ -887,7 +887,7 @@ public:
: m_tid(tid), m_addr(addr), m_result(result)
{ }
void Execute(ProcessMonitor *monitor);
void Execute(ProcessMonitor *monitor) override;
private:
lldb::tid_t m_tid;
@ -971,7 +971,7 @@ public:
ResumeOperation(lldb::tid_t tid, uint32_t signo, bool &result) :
m_tid(tid), m_signo(signo), m_result(result) { }
void Execute(ProcessMonitor *monitor);
void Execute(ProcessMonitor *monitor) override;
private:
lldb::tid_t m_tid;
@ -1008,7 +1008,7 @@ public:
SingleStepOperation(lldb::tid_t tid, uint32_t signo, bool &result)
: m_tid(tid), m_signo(signo), m_result(result) { }
void Execute(ProcessMonitor *monitor);
void Execute(ProcessMonitor *monitor) override;
private:
lldb::tid_t m_tid;
@ -1039,7 +1039,7 @@ public:
SiginfoOperation(lldb::tid_t tid, void *info, bool &result, int &ptrace_err)
: m_tid(tid), m_info(info), m_result(result), m_err(ptrace_err) { }
void Execute(ProcessMonitor *monitor);
void Execute(ProcessMonitor *monitor) override;
private:
lldb::tid_t m_tid;
@ -1068,7 +1068,7 @@ public:
EventMessageOperation(lldb::tid_t tid, unsigned long *message, bool &result)
: m_tid(tid), m_message(message), m_result(result) { }
void Execute(ProcessMonitor *monitor);
void Execute(ProcessMonitor *monitor) override;
private:
lldb::tid_t m_tid;
@ -1093,7 +1093,7 @@ class DetachOperation : public Operation
public:
DetachOperation(lldb::tid_t tid, Error &result) : m_tid(tid), m_error(result) { }
void Execute(ProcessMonitor *monitor);
void Execute(ProcessMonitor *monitor) override;
private:
lldb::tid_t m_tid;

View File

@ -35,32 +35,32 @@ public:
virtual ~POSIXThread();
void
RefreshStateAfterStop();
virtual void
WillResume(lldb::StateType resume_state);
// This notifies the thread when a private stop occurs.
virtual void
DidStop ();
const char *
GetInfo();
RefreshStateAfterStop() override;
void
SetName (const char *name);
WillResume(lldb::StateType resume_state) override;
// This notifies the thread when a private stop occurs.
void
DidStop () override;
const char *
GetName ();
GetInfo() override;
virtual lldb::RegisterContextSP
GetRegisterContext();
void
SetName (const char *name) override;
virtual lldb::RegisterContextSP
CreateRegisterContextForFrame (lldb_private::StackFrame *frame);
const char *
GetName () override;
virtual lldb::addr_t
GetThreadPointer ();
lldb::RegisterContextSP
GetRegisterContext() override;
lldb::RegisterContextSP
CreateRegisterContextForFrame (lldb_private::StackFrame *frame) override;
lldb::addr_t
GetThreadPointer () override;
//--------------------------------------------------------------------------
// These functions provide a mapping from the register offset
@ -114,8 +114,8 @@ protected:
ProcessMonitor &
GetMonitor();
virtual bool
CalculateStopInfo();
bool
CalculateStopInfo() override;
void BreakNotify(const ProcessMessage &message);
void WatchNotify(const ProcessMessage &message);
@ -129,7 +129,7 @@ protected:
void ExecNotify(const ProcessMessage &message);
lldb_private::Unwind *
GetUnwinder();
GetUnwinder() override;
};
#endif // #ifndef liblldb_POSIXThread_H_

View File

@ -41,104 +41,104 @@ public:
//------------------------------------------------------------------
// Process protocol.
//------------------------------------------------------------------
virtual void
void
Finalize() override;
virtual bool
bool
CanDebug(lldb_private::Target &target, bool plugin_specified_by_name) override;
virtual lldb_private::Error
lldb_private::Error
WillLaunch(lldb_private::Module *module) override;
virtual lldb_private::Error
lldb_private::Error
DoAttachToProcessWithID(lldb::pid_t pid) override;
virtual lldb_private::Error
lldb_private::Error
DoAttachToProcessWithID (lldb::pid_t pid, const lldb_private::ProcessAttachInfo &attach_info) override;
virtual lldb_private::Error
lldb_private::Error
DoLaunch (lldb_private::Module *exe_module,
lldb_private::ProcessLaunchInfo &launch_info) override;
virtual void
void
DidLaunch() override;
virtual lldb_private::Error
lldb_private::Error
DoResume() override;
virtual lldb_private::Error
lldb_private::Error
DoHalt(bool &caused_stop) override;
virtual lldb_private::Error
lldb_private::Error
DoDetach(bool keep_stopped) override = 0;
virtual lldb_private::Error
lldb_private::Error
DoSignal(int signal) override;
virtual lldb_private::Error
lldb_private::Error
DoDestroy() override;
virtual void
void
DoDidExec() override;
virtual void
void
RefreshStateAfterStop() override;
virtual bool
bool
IsAlive() override;
virtual size_t
size_t
DoReadMemory(lldb::addr_t vm_addr,
void *buf,
size_t size,
lldb_private::Error &error) override;
virtual size_t
size_t
DoWriteMemory(lldb::addr_t vm_addr, const void *buf, size_t size,
lldb_private::Error &error) override;
virtual lldb::addr_t
lldb::addr_t
DoAllocateMemory(size_t size, uint32_t permissions,
lldb_private::Error &error) override;
virtual lldb_private::Error
lldb_private::Error
DoDeallocateMemory(lldb::addr_t ptr) override;
virtual size_t
GetSoftwareBreakpointTrapOpcode(lldb_private::BreakpointSite* bp_site);
virtual lldb_private::Error
lldb_private::Error
EnableBreakpointSite(lldb_private::BreakpointSite *bp_site) override;
virtual lldb_private::Error
lldb_private::Error
DisableBreakpointSite(lldb_private::BreakpointSite *bp_site) override;
virtual lldb_private::Error
lldb_private::Error
EnableWatchpoint(lldb_private::Watchpoint *wp, bool notify = true) override;
virtual lldb_private::Error
lldb_private::Error
DisableWatchpoint(lldb_private::Watchpoint *wp, bool notify = true) override;
virtual lldb_private::Error
lldb_private::Error
GetWatchpointSupportInfo(uint32_t &num) override;
virtual lldb_private::Error
lldb_private::Error
GetWatchpointSupportInfo(uint32_t &num, bool &after) override;
virtual uint32_t
UpdateThreadListIfNeeded();
virtual bool
bool
UpdateThreadList(lldb_private::ThreadList &old_thread_list,
lldb_private::ThreadList &new_thread_list) override = 0;
virtual lldb::ByteOrder
GetByteOrder() const;
virtual lldb::addr_t
lldb::addr_t
GetImageInfoAddress() override;
virtual size_t
size_t
PutSTDIN(const char *buf, size_t len, lldb_private::Error &error) override;
const lldb::DataBufferSP