Works around a Symbian compiler bug that causes memory leak (by Mika Raento).
This commit is contained in:
parent
79643f51ed
commit
7c95d8346e
|
@ -351,10 +351,18 @@ class Mock {
|
|||
// - Constness is shallow: a const Expectation object itself cannot
|
||||
// be modified, but the mutable methods of the ExpectationBase
|
||||
// object it references can be called via expectation_base().
|
||||
// - The constructors and destructor are defined out-of-line because
|
||||
// the Symbian WINSCW compiler wants to otherwise instantiate them
|
||||
// when it sees this class definition, at which point it doesn't have
|
||||
// ExpectationBase available yet, leading to incorrect destruction
|
||||
// in the linked_ptr (or compilation errors if using a checking
|
||||
// linked_ptr).
|
||||
class Expectation {
|
||||
public:
|
||||
// Constructs a null object that doesn't reference any expectation.
|
||||
Expectation() {}
|
||||
Expectation();
|
||||
|
||||
~Expectation();
|
||||
|
||||
// This single-argument ctor must not be explicit, in order to support the
|
||||
// Expectation e = EXPECT_CALL(...);
|
||||
|
@ -399,8 +407,7 @@ class Expectation {
|
|||
typedef ::std::set<Expectation, Less> Set;
|
||||
|
||||
Expectation(
|
||||
const internal::linked_ptr<internal::ExpectationBase>& expectation_base) :
|
||||
expectation_base_(expectation_base) {}
|
||||
const internal::linked_ptr<internal::ExpectationBase>& expectation_base);
|
||||
|
||||
// Returns the expectation this object references.
|
||||
const internal::linked_ptr<internal::ExpectationBase>&
|
||||
|
|
|
@ -420,6 +420,14 @@ void Mock::ClearDefaultActionsLocked(void* mock_obj) {
|
|||
// needed by VerifyAndClearExpectationsLocked().
|
||||
}
|
||||
|
||||
Expectation::Expectation() {}
|
||||
|
||||
Expectation::Expectation(
|
||||
const internal::linked_ptr<internal::ExpectationBase>& expectation_base)
|
||||
: expectation_base_(expectation_base) {}
|
||||
|
||||
Expectation::~Expectation() {}
|
||||
|
||||
// Adds an expectation to a sequence.
|
||||
void Sequence::AddExpectation(const Expectation& expectation) const {
|
||||
if (*last_expectation_ != expectation) {
|
||||
|
|
Loading…
Reference in New Issue
Block a user