From fc4c6171999243695166747108cf7d65e34bf4c0 Mon Sep 17 00:00:00 2001 From: Thomas Van Lenten Date: Mon, 27 Jun 2016 20:45:16 -0400 Subject: Fix GPBGetMessage{Repeated,Map}Field() - Correct impl by using helpers the message wiring does. - Add unittests. Fixes https://github.com/google/protobuf/issues/1716 --- objectivec/GPBUtilities.m | 24 ++---------------------- 1 file changed, 2 insertions(+), 22 deletions(-) (limited to 'objectivec/GPBUtilities.m') diff --git a/objectivec/GPBUtilities.m b/objectivec/GPBUtilities.m index 4280b899..05375084 100644 --- a/objectivec/GPBUtilities.m +++ b/objectivec/GPBUtilities.m @@ -895,17 +895,7 @@ void GPBSetMessageGroupField(GPBMessage *self, //%PDDM-EXPAND-END (4 expansions) -// Only exists for public api, no core code should use this. -id GPBGetMessageRepeatedField(GPBMessage *self, GPBFieldDescriptor *field) { -#if defined(DEBUG) && DEBUG - if (field.fieldType != GPBFieldTypeRepeated) { - [NSException raise:NSInvalidArgumentException - format:@"%@.%@ is not a repeated field.", - [self class], field.name]; - } -#endif - return GPBGetObjectIvarWithField(self, field); -} +// GPBGetMessageRepeatedField is defined in GPBMessage.m // Only exists for public api, no core code should use this. void GPBSetMessageRepeatedField(GPBMessage *self, GPBFieldDescriptor *field, id array) { @@ -997,17 +987,7 @@ static NSString *TypeToStr(GPBDataType dataType) { } #endif -// Only exists for public api, no core code should use this. -id GPBGetMessageMapField(GPBMessage *self, GPBFieldDescriptor *field) { -#if defined(DEBUG) && DEBUG - if (field.fieldType != GPBFieldTypeMap) { - [NSException raise:NSInvalidArgumentException - format:@"%@.%@ is not a map<> field.", - [self class], field.name]; - } -#endif - return GPBGetObjectIvarWithField(self, field); -} +// GPBGetMessageMapField is defined in GPBMessage.m // Only exists for public api, no core code should use this. void GPBSetMessageMapField(GPBMessage *self, GPBFieldDescriptor *field, -- cgit v1.2.3