BaseTools/VfrCompile/Pccts: Make assignment operator not returning void
authorHao Wu <hao.a.wu@intel.com>
Mon, 10 Oct 2016 12:53:22 +0000 (20:53 +0800)
committerHao Wu <hao.a.wu@intel.com>
Tue, 8 Nov 2016 08:38:30 +0000 (16:38 +0800)
The assignment operators for class ANTLRTokenPtr return void in current
code.

This commit makes them return the reference to the object just like
primitive types do.

Cc: Liming Gao <liming.gao@intel.com>
Cc: Yonghong Zhu <yonghong.zhu@intel.com>
Cc: Eric Dong <eric.dong@intel.com>
Cc: Dandan Bi <dandan.bi@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
BaseTools/Source/C/VfrCompile/Pccts/h/ATokPtr.h
BaseTools/Source/C/VfrCompile/Pccts/h/ATokPtrImpl.h

index 75b4c86cbf1e0e387f37ccb998087db645b8ecff..df89d8ff6d10b84e91d8d85230fd9a858e6e0e87 100644 (file)
@@ -58,8 +58,8 @@ public:
 //  7-Apr-97 133MR1\r
 //          Fix suggested by Andreas Magnusson\r
 //                     (Andreas.Magnusson@mailbox.swipnet.se)\r
-    void operator = (const ANTLRTokenPtr & lhs);                       // MR1\r
-    void operator = (ANTLRAbstractToken *addr);\r
+    ANTLRTokenPtr& operator = (const ANTLRTokenPtr & lhs);      // MR1\r
+    ANTLRTokenPtr& operator = (ANTLRAbstractToken *addr);\r
     int operator != (const ANTLRTokenPtr &q) const                     // MR1 // MR11 unsigned -> int\r
        { return this->ptr_ != q.ptr_; }\r
     int operator == (const ANTLRTokenPtr &q) const                     // MR1 // MR11 unsigned -> int\r
index 9c07cf52a99463b6114562c78ad9f3771a8b01b5..a1efc3b3b98fbcc359a1dd329e802f4138a43f4c 100644 (file)
@@ -71,18 +71,20 @@ ANTLRTokenPtr::~ANTLRTokenPtr()
 //  8-Apr-97   MR1     Make operator -> a const member function\r
 //                       as weall as some other member functions\r
 //\r
-void ANTLRTokenPtr::operator = (const ANTLRTokenPtr & lhs)     // MR1\r
+ANTLRTokenPtr& ANTLRTokenPtr::operator = (const ANTLRTokenPtr & lhs)    // MR1\r
 {\r
     lhs.ref(); // protect against "xp = xp"; ie same underlying object\r
     deref();\r
     ptr_ = lhs.ptr_;\r
+    return *this;\r
 }\r
 \r
-void ANTLRTokenPtr::operator = (ANTLRAbstractToken *addr)\r
+ANTLRTokenPtr& ANTLRTokenPtr::operator = (ANTLRAbstractToken *addr)\r
 {\r
     if (addr != NULL) {\r
        addr->ref();\r
     }\r
     deref();\r
     ptr_ = addr;\r
+    return *this;\r
 }\r