[Lldb-commits] [lldb] ede5cd9 - [lldb/API] Fix bogus copy assignment operator

Jonas Devlieghere via lldb-commits lldb-commits at lists.llvm.org
Tue Jan 28 17:11:19 PST 2020


Author: Jonas Devlieghere
Date: 2020-01-28T17:11:12-08:00
New Revision: ede5cd9a45bd12c0676da80472e629801faa37bf

URL: https://github.com/llvm/llvm-project/commit/ede5cd9a45bd12c0676da80472e629801faa37bf
DIFF: https://github.com/llvm/llvm-project/commit/ede5cd9a45bd12c0676da80472e629801faa37bf.diff

LOG: [lldb/API] Fix bogus copy assignment operator

The copy assignment operator is supposed to return the class and not
void. Fix the methods and the reproducer instrumentation macros.

Added: 
    

Modified: 
    lldb/include/lldb/API/SBLaunchInfo.h
    lldb/include/lldb/API/SBPlatform.h
    lldb/source/API/SBLaunchInfo.cpp
    lldb/source/API/SBPlatform.cpp

Removed: 
    


################################################################################
diff  --git a/lldb/include/lldb/API/SBLaunchInfo.h b/lldb/include/lldb/API/SBLaunchInfo.h
index eef6bc78e5f2..d78106abf0c7 100644
--- a/lldb/include/lldb/API/SBLaunchInfo.h
+++ b/lldb/include/lldb/API/SBLaunchInfo.h
@@ -28,7 +28,7 @@ class LLDB_API SBLaunchInfo {
 
   SBLaunchInfo(const SBLaunchInfo &rhs);
 
-  void operator=(const SBLaunchInfo &rhs);
+  SBLaunchInfo &operator=(const SBLaunchInfo &rhs);
 
   lldb::pid_t GetProcessID();
 

diff  --git a/lldb/include/lldb/API/SBPlatform.h b/lldb/include/lldb/API/SBPlatform.h
index 9e3d03e9a84f..533bb4dce78a 100644
--- a/lldb/include/lldb/API/SBPlatform.h
+++ b/lldb/include/lldb/API/SBPlatform.h
@@ -28,7 +28,7 @@ class LLDB_API SBPlatformConnectOptions {
 
   ~SBPlatformConnectOptions();
 
-  void operator=(const SBPlatformConnectOptions &rhs);
+  SBPlatformConnectOptions &operator=(const SBPlatformConnectOptions &rhs);
 
   const char *GetURL();
 
@@ -55,6 +55,8 @@ class LLDB_API SBPlatformShellCommand {
 
   SBPlatformShellCommand(const SBPlatformShellCommand &rhs);
 
+  SBPlatformShellCommand &operator=(const SBPlatformShellCommand &rhs);
+
   ~SBPlatformShellCommand();
 
   void Clear();
@@ -91,7 +93,7 @@ class LLDB_API SBPlatform {
 
   SBPlatform(const SBPlatform &rhs);
 
-  void operator=(const SBPlatform &rhs);
+  SBPlatform &operator=(const SBPlatform &rhs);
 
   ~SBPlatform();
 

diff  --git a/lldb/source/API/SBLaunchInfo.cpp b/lldb/source/API/SBLaunchInfo.cpp
index 9e7159995cc4..9e69b53bb3f8 100644
--- a/lldb/source/API/SBLaunchInfo.cpp
+++ b/lldb/source/API/SBLaunchInfo.cpp
@@ -49,11 +49,12 @@ SBLaunchInfo::SBLaunchInfo(const SBLaunchInfo &rhs) {
   m_opaque_sp = rhs.m_opaque_sp;
 }
 
-void SBLaunchInfo::operator=(const SBLaunchInfo &rhs) {
-  LLDB_RECORD_METHOD(void, SBLaunchInfo, operator=,(const lldb::SBLaunchInfo &),
-                     rhs);
+SBLaunchInfo &SBLaunchInfo::operator=(const SBLaunchInfo &rhs) {
+  LLDB_RECORD_METHOD(SBLaunchInfo &,
+                     SBLaunchInfo, operator=,(const lldb::SBLaunchInfo &), rhs);
 
   m_opaque_sp = rhs.m_opaque_sp;
+  return LLDB_RECORD_RESULT(*this);
 }
 
 SBLaunchInfo::~SBLaunchInfo() {}
@@ -336,7 +337,7 @@ template <>
 void RegisterMethods<SBLaunchInfo>(Registry &R) {
   LLDB_REGISTER_CONSTRUCTOR(SBLaunchInfo, (const char **));
   LLDB_REGISTER_CONSTRUCTOR(SBLaunchInfo, (const lldb::SBLaunchInfo &));
-  LLDB_REGISTER_METHOD(void,
+  LLDB_REGISTER_METHOD(SBLaunchInfo &,
                        SBLaunchInfo, operator=,(const lldb::SBLaunchInfo &));
   LLDB_REGISTER_METHOD(lldb::pid_t, SBLaunchInfo, GetProcessID, ());
   LLDB_REGISTER_METHOD(uint32_t, SBLaunchInfo, GetUserID, ());

diff  --git a/lldb/source/API/SBPlatform.cpp b/lldb/source/API/SBPlatform.cpp
index 76b851517e36..2603ac728065 100644
--- a/lldb/source/API/SBPlatform.cpp
+++ b/lldb/source/API/SBPlatform.cpp
@@ -80,14 +80,16 @@ SBPlatformConnectOptions::SBPlatformConnectOptions(
 
 SBPlatformConnectOptions::~SBPlatformConnectOptions() { delete m_opaque_ptr; }
 
-void SBPlatformConnectOptions::operator=(const SBPlatformConnectOptions &rhs) {
+SBPlatformConnectOptions &SBPlatformConnectOptions::
+operator=(const SBPlatformConnectOptions &rhs) {
   LLDB_RECORD_METHOD(
-      void,
+      SBPlatformConnectOptions &,
       SBPlatformConnectOptions, operator=,(
                                     const lldb::SBPlatformConnectOptions &),
       rhs);
 
   *m_opaque_ptr = *rhs.m_opaque_ptr;
+  return LLDB_RECORD_RESULT(*this);
 }
 
 const char *SBPlatformConnectOptions::GetURL() {
@@ -174,6 +176,18 @@ SBPlatformShellCommand::SBPlatformShellCommand(
   *m_opaque_ptr = *rhs.m_opaque_ptr;
 }
 
+SBPlatformShellCommand &SBPlatformShellCommand::
+operator=(const SBPlatformShellCommand &rhs) {
+
+  LLDB_RECORD_METHOD(
+      SBPlatformShellCommand &,
+      SBPlatformShellCommand, operator=,(const lldb::SBPlatformShellCommand &),
+      rhs);
+
+  *m_opaque_ptr = *rhs.m_opaque_ptr;
+  return LLDB_RECORD_RESULT(*this);
+}
+
 SBPlatformShellCommand::~SBPlatformShellCommand() { delete m_opaque_ptr; }
 
 void SBPlatformShellCommand::Clear() {
@@ -279,11 +293,12 @@ SBPlatform::SBPlatform(const SBPlatform &rhs) {
   m_opaque_sp = rhs.m_opaque_sp;
 }
 
-void SBPlatform::operator=(const SBPlatform &rhs) {
-  LLDB_RECORD_METHOD(void, SBPlatform, operator=,(const lldb::SBPlatform &),
-                     rhs);
+SBPlatform &SBPlatform::operator=(const SBPlatform &rhs) {
+  LLDB_RECORD_METHOD(SBPlatform &,
+                     SBPlatform, operator=,(const lldb::SBPlatform &), rhs);
 
   m_opaque_sp = rhs.m_opaque_sp;
+  return LLDB_RECORD_RESULT(*this);
 }
 
 SBPlatform::~SBPlatform() {}
@@ -637,7 +652,7 @@ void RegisterMethods<SBPlatformConnectOptions>(Registry &R) {
   LLDB_REGISTER_CONSTRUCTOR(SBPlatformConnectOptions,
                             (const lldb::SBPlatformConnectOptions &));
   LLDB_REGISTER_METHOD(
-      void,
+      SBPlatformConnectOptions &,
       SBPlatformConnectOptions, operator=,(
                                     const lldb::SBPlatformConnectOptions &));
   LLDB_REGISTER_METHOD(const char *, SBPlatformConnectOptions, GetURL, ());
@@ -658,6 +673,9 @@ void RegisterMethods<SBPlatformShellCommand>(Registry &R) {
   LLDB_REGISTER_CONSTRUCTOR(SBPlatformShellCommand, (const char *));
   LLDB_REGISTER_CONSTRUCTOR(SBPlatformShellCommand,
                             (const lldb::SBPlatformShellCommand &));
+  LLDB_REGISTER_METHOD(
+      SBPlatformShellCommand &,
+      SBPlatformShellCommand, operator=,(const lldb::SBPlatformShellCommand &));
   LLDB_REGISTER_METHOD(void, SBPlatformShellCommand, Clear, ());
   LLDB_REGISTER_METHOD(const char *, SBPlatformShellCommand, GetCommand, ());
   LLDB_REGISTER_METHOD(void, SBPlatformShellCommand, SetCommand,
@@ -680,7 +698,8 @@ void RegisterMethods<SBPlatform>(Registry &R) {
   LLDB_REGISTER_CONSTRUCTOR(SBPlatform, ());
   LLDB_REGISTER_CONSTRUCTOR(SBPlatform, (const char *));
   LLDB_REGISTER_CONSTRUCTOR(SBPlatform, (const lldb::SBPlatform &));
-  LLDB_REGISTER_METHOD(void, SBPlatform, operator=,(const lldb::SBPlatform &));
+  LLDB_REGISTER_METHOD(SBPlatform &,
+                       SBPlatform, operator=,(const lldb::SBPlatform &));
   LLDB_REGISTER_METHOD_CONST(bool, SBPlatform, IsValid, ());
   LLDB_REGISTER_METHOD_CONST(bool, SBPlatform, operator bool, ());
   LLDB_REGISTER_METHOD(void, SBPlatform, Clear, ());


        


More information about the lldb-commits mailing list