BaseTools/VfrCompile/Pccts: Make assignment operator not returning void

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>
This commit is contained in:
Hao Wu 2016-10-10 20:53:22 +08:00
parent d556383627
commit fef15ecd20
2 changed files with 6 additions and 4 deletions

View File

@ -58,8 +58,8 @@ public:
// 7-Apr-97 133MR1 // 7-Apr-97 133MR1
// Fix suggested by Andreas Magnusson // Fix suggested by Andreas Magnusson
// (Andreas.Magnusson@mailbox.swipnet.se) // (Andreas.Magnusson@mailbox.swipnet.se)
void operator = (const ANTLRTokenPtr & lhs); // MR1 ANTLRTokenPtr& operator = (const ANTLRTokenPtr & lhs); // MR1
void operator = (ANTLRAbstractToken *addr); ANTLRTokenPtr& operator = (ANTLRAbstractToken *addr);
int operator != (const ANTLRTokenPtr &q) const // MR1 // MR11 unsigned -> int int operator != (const ANTLRTokenPtr &q) const // MR1 // MR11 unsigned -> int
{ return this->ptr_ != q.ptr_; } { return this->ptr_ != q.ptr_; }
int operator == (const ANTLRTokenPtr &q) const // MR1 // MR11 unsigned -> int int operator == (const ANTLRTokenPtr &q) const // MR1 // MR11 unsigned -> int

View File

@ -71,18 +71,20 @@ ANTLRTokenPtr::~ANTLRTokenPtr()
// 8-Apr-97 MR1 Make operator -> a const member function // 8-Apr-97 MR1 Make operator -> a const member function
// as weall as some other member functions // as weall as some other member functions
// //
void ANTLRTokenPtr::operator = (const ANTLRTokenPtr & lhs) // MR1 ANTLRTokenPtr& ANTLRTokenPtr::operator = (const ANTLRTokenPtr & lhs) // MR1
{ {
lhs.ref(); // protect against "xp = xp"; ie same underlying object lhs.ref(); // protect against "xp = xp"; ie same underlying object
deref(); deref();
ptr_ = lhs.ptr_; ptr_ = lhs.ptr_;
return *this;
} }
void ANTLRTokenPtr::operator = (ANTLRAbstractToken *addr) ANTLRTokenPtr& ANTLRTokenPtr::operator = (ANTLRAbstractToken *addr)
{ {
if (addr != NULL) { if (addr != NULL) {
addr->ref(); addr->ref();
} }
deref(); deref();
ptr_ = addr; ptr_ = addr;
return *this;
} }