diff options
author | Thomas Van Lenten <thomasvl@google.com> | 2016-05-27 12:51:18 -0400 |
---|---|---|
committer | Thomas Van Lenten <thomasvl@google.com> | 2016-05-27 12:52:35 -0400 |
commit | 38b9e74691b484d2521fc6d8f421fc3dc14aa143 (patch) | |
tree | 86d27bd76f0ce069e207194676619fbf700f69bf /objectivec/GPBArray.m | |
parent | 0f27cab4fb378b94a91c2b1522174ec21719df9d (diff) | |
download | protobuf-38b9e74691b484d2521fc6d8f421fc3dc14aa143.tar.gz protobuf-38b9e74691b484d2521fc6d8f421fc3dc14aa143.tar.bz2 protobuf-38b9e74691b484d2521fc6d8f421fc3dc14aa143.zip |
Add -Woverriding-method-mismatch.
Fixes up the code to avoid some issues with isEqual: methods.
Opened https://github.com/google/protobuf/issues/1616 to track the KVC
collision.
Diffstat (limited to 'objectivec/GPBArray.m')
-rw-r--r-- | objectivec/GPBArray.m | 63 |
1 files changed, 36 insertions, 27 deletions
diff --git a/objectivec/GPBArray.m b/objectivec/GPBArray.m index dce45b6e..64869bbb 100644 --- a/objectivec/GPBArray.m +++ b/objectivec/GPBArray.m @@ -164,15 +164,16 @@ static BOOL ArrayDefault_IsValidValue(int32_t value) { //% [super dealloc]; //%} //% -//%- (BOOL)isEqual:(GPB##NAME##Array *)other { +//%- (BOOL)isEqual:(id)other { //% if (self == other) { //% return YES; //% } //% if (![other isKindOfClass:[GPB##NAME##Array class]]) { //% return NO; //% } -//% return (_count == other->_count -//% && memcmp(_values, other->_values, (_count * sizeof(TYPE))) == 0); +//% GPB##NAME##Array *otherArray = other; +//% return (_count == otherArray->_count +//% && memcmp(_values, otherArray->_values, (_count * sizeof(TYPE))) == 0); //%} //% //%- (NSUInteger)hash { @@ -374,15 +375,16 @@ static BOOL ArrayDefault_IsValidValue(int32_t value) { [super dealloc]; } -- (BOOL)isEqual:(GPBInt32Array *)other { +- (BOOL)isEqual:(id)other { if (self == other) { return YES; } if (![other isKindOfClass:[GPBInt32Array class]]) { return NO; } - return (_count == other->_count - && memcmp(_values, other->_values, (_count * sizeof(int32_t))) == 0); + GPBInt32Array *otherArray = other; + return (_count == otherArray->_count + && memcmp(_values, otherArray->_values, (_count * sizeof(int32_t))) == 0); } - (NSUInteger)hash { @@ -621,15 +623,16 @@ static BOOL ArrayDefault_IsValidValue(int32_t value) { [super dealloc]; } -- (BOOL)isEqual:(GPBUInt32Array *)other { +- (BOOL)isEqual:(id)other { if (self == other) { return YES; } if (![other isKindOfClass:[GPBUInt32Array class]]) { return NO; } - return (_count == other->_count - && memcmp(_values, other->_values, (_count * sizeof(uint32_t))) == 0); + GPBUInt32Array *otherArray = other; + return (_count == otherArray->_count + && memcmp(_values, otherArray->_values, (_count * sizeof(uint32_t))) == 0); } - (NSUInteger)hash { @@ -868,15 +871,16 @@ static BOOL ArrayDefault_IsValidValue(int32_t value) { [super dealloc]; } -- (BOOL)isEqual:(GPBInt64Array *)other { +- (BOOL)isEqual:(id)other { if (self == other) { return YES; } if (![other isKindOfClass:[GPBInt64Array class]]) { return NO; } - return (_count == other->_count - && memcmp(_values, other->_values, (_count * sizeof(int64_t))) == 0); + GPBInt64Array *otherArray = other; + return (_count == otherArray->_count + && memcmp(_values, otherArray->_values, (_count * sizeof(int64_t))) == 0); } - (NSUInteger)hash { @@ -1115,15 +1119,16 @@ static BOOL ArrayDefault_IsValidValue(int32_t value) { [super dealloc]; } -- (BOOL)isEqual:(GPBUInt64Array *)other { +- (BOOL)isEqual:(id)other { if (self == other) { return YES; } if (![other isKindOfClass:[GPBUInt64Array class]]) { return NO; } - return (_count == other->_count - && memcmp(_values, other->_values, (_count * sizeof(uint64_t))) == 0); + GPBUInt64Array *otherArray = other; + return (_count == otherArray->_count + && memcmp(_values, otherArray->_values, (_count * sizeof(uint64_t))) == 0); } - (NSUInteger)hash { @@ -1362,15 +1367,16 @@ static BOOL ArrayDefault_IsValidValue(int32_t value) { [super dealloc]; } -- (BOOL)isEqual:(GPBFloatArray *)other { +- (BOOL)isEqual:(id)other { if (self == other) { return YES; } if (![other isKindOfClass:[GPBFloatArray class]]) { return NO; } - return (_count == other->_count - && memcmp(_values, other->_values, (_count * sizeof(float))) == 0); + GPBFloatArray *otherArray = other; + return (_count == otherArray->_count + && memcmp(_values, otherArray->_values, (_count * sizeof(float))) == 0); } - (NSUInteger)hash { @@ -1609,15 +1615,16 @@ static BOOL ArrayDefault_IsValidValue(int32_t value) { [super dealloc]; } -- (BOOL)isEqual:(GPBDoubleArray *)other { +- (BOOL)isEqual:(id)other { if (self == other) { return YES; } if (![other isKindOfClass:[GPBDoubleArray class]]) { return NO; } - return (_count == other->_count - && memcmp(_values, other->_values, (_count * sizeof(double))) == 0); + GPBDoubleArray *otherArray = other; + return (_count == otherArray->_count + && memcmp(_values, otherArray->_values, (_count * sizeof(double))) == 0); } - (NSUInteger)hash { @@ -1856,15 +1863,16 @@ static BOOL ArrayDefault_IsValidValue(int32_t value) { [super dealloc]; } -- (BOOL)isEqual:(GPBBoolArray *)other { +- (BOOL)isEqual:(id)other { if (self == other) { return YES; } if (![other isKindOfClass:[GPBBoolArray class]]) { return NO; } - return (_count == other->_count - && memcmp(_values, other->_values, (_count * sizeof(BOOL))) == 0); + GPBBoolArray *otherArray = other; + return (_count == otherArray->_count + && memcmp(_values, otherArray->_values, (_count * sizeof(BOOL))) == 0); } - (NSUInteger)hash { @@ -2127,15 +2135,16 @@ static BOOL ArrayDefault_IsValidValue(int32_t value) { [super dealloc]; } -- (BOOL)isEqual:(GPBEnumArray *)other { +- (BOOL)isEqual:(id)other { if (self == other) { return YES; } if (![other isKindOfClass:[GPBEnumArray class]]) { return NO; } - return (_count == other->_count - && memcmp(_values, other->_values, (_count * sizeof(int32_t))) == 0); + GPBEnumArray *otherArray = other; + return (_count == otherArray->_count + && memcmp(_values, otherArray->_values, (_count * sizeof(int32_t))) == 0); } - (NSUInteger)hash { |