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>
// 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
// 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