[lldb][NFC] Don't let Process inherit from UserID
I noticed that Process is inheriting from UserID to store its PID value. This patch replaces this with a dedicated field in the Process class. This is NFC, but has some small effects on the code using Process: * `GetID()` now returns a `lldb::pid_t` like all other process code instead of `lldb::user_id_t`. Both are typedefs for `uint64_t`, so no change in behaviour. * The equality operators defined for UserID no longer accept Process instances. * Removes the inherited method `Process::Clear()` which didn't actually clear anything beside the PID value. We maybe should also remove the getters/setters to `S/GetPID` or something like that. I can update all the code for that in a follow-up NFC commit. Reviewed By: labath Differential Revision: https://reviews.llvm.org/D91699
This commit is contained in:
@@ -364,7 +364,6 @@ inline bool operator!=(const ProcessModID &lhs, const ProcessModID &rhs) {
|
||||
/// A plug-in interface definition class for debugging a process.
|
||||
class Process : public std::enable_shared_from_this<Process>,
|
||||
public ProcessProperties,
|
||||
public UserID,
|
||||
public Broadcaster,
|
||||
public ExecutionContextScope,
|
||||
public PluginInterface {
|
||||
@@ -560,6 +559,15 @@ public:
|
||||
|
||||
uint32_t GetAddressByteSize() const;
|
||||
|
||||
/// Sets the stored pid.
|
||||
///
|
||||
/// This does not change the pid of underlying process.
|
||||
lldb::pid_t GetID() const { return m_pid; }
|
||||
|
||||
/// Returns the pid of the process or LLDB_INVALID_PROCESS_ID if there is
|
||||
/// no known pid.
|
||||
void SetID(lldb::pid_t new_pid) { m_pid = new_pid; }
|
||||
|
||||
uint32_t GetUniqueID() const { return m_process_unique_id; }
|
||||
|
||||
/// Check if a plug-in instance can debug the file in \a module.
|
||||
@@ -2730,6 +2738,7 @@ protected:
|
||||
|
||||
// Member variables
|
||||
std::weak_ptr<Target> m_target_wp; ///< The target that owns this process.
|
||||
lldb::pid_t m_pid = LLDB_INVALID_PROCESS_ID;
|
||||
ThreadSafeValue<lldb::StateType> m_public_state;
|
||||
ThreadSafeValue<lldb::StateType>
|
||||
m_private_state; // The actual state of our process
|
||||
|
||||
@@ -529,7 +529,7 @@ Process::Process(lldb::TargetSP target_sp, ListenerSP listener_sp)
|
||||
|
||||
Process::Process(lldb::TargetSP target_sp, ListenerSP listener_sp,
|
||||
const UnixSignalsSP &unix_signals_sp)
|
||||
: ProcessProperties(this), UserID(LLDB_INVALID_PROCESS_ID),
|
||||
: ProcessProperties(this),
|
||||
Broadcaster((target_sp->GetDebugger().GetBroadcasterManager()),
|
||||
Process::GetStaticBroadcasterClass().AsCString()),
|
||||
m_target_wp(target_sp), m_public_state(eStateUnloaded),
|
||||
|
||||
Reference in New Issue
Block a user