diff --git a/BaseTools/Source/C/VfrCompile/Pccts/h/ATokPtr.h b/BaseTools/Source/C/VfrCompile/Pccts/h/ATokPtr.h index 75b4c86cbf..df89d8ff6d 100644 --- a/BaseTools/Source/C/VfrCompile/Pccts/h/ATokPtr.h +++ b/BaseTools/Source/C/VfrCompile/Pccts/h/ATokPtr.h @@ -58,8 +58,8 @@ public: // 7-Apr-97 133MR1 // Fix suggested by Andreas Magnusson // (Andreas.Magnusson@mailbox.swipnet.se) - void operator = (const ANTLRTokenPtr & lhs); // MR1 - void operator = (ANTLRAbstractToken *addr); + ANTLRTokenPtr& operator = (const ANTLRTokenPtr & lhs); // MR1 + ANTLRTokenPtr& operator = (ANTLRAbstractToken *addr); int operator != (const ANTLRTokenPtr &q) const // MR1 // MR11 unsigned -> int { return this->ptr_ != q.ptr_; } int operator == (const ANTLRTokenPtr &q) const // MR1 // MR11 unsigned -> int diff --git a/BaseTools/Source/C/VfrCompile/Pccts/h/ATokPtrImpl.h b/BaseTools/Source/C/VfrCompile/Pccts/h/ATokPtrImpl.h index 9c07cf52a9..a1efc3b3b9 100644 --- a/BaseTools/Source/C/VfrCompile/Pccts/h/ATokPtrImpl.h +++ b/BaseTools/Source/C/VfrCompile/Pccts/h/ATokPtrImpl.h @@ -71,18 +71,20 @@ ANTLRTokenPtr::~ANTLRTokenPtr() // 8-Apr-97 MR1 Make operator -> a const member function // 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 deref(); ptr_ = lhs.ptr_; + return *this; } -void ANTLRTokenPtr::operator = (ANTLRAbstractToken *addr) +ANTLRTokenPtr& ANTLRTokenPtr::operator = (ANTLRAbstractToken *addr) { if (addr != NULL) { addr->ref(); } deref(); ptr_ = addr; + return *this; }