|
@@ -130,7 +130,7 @@ static NSError *ErrorFromException(NSException *exception) {
|
|
|
|
|
|
static void CheckExtension(GPBMessage *self,
|
|
|
GPBExtensionDescriptor *extension) {
|
|
|
- if ([self class] != extension.containingMessageClass) {
|
|
|
+ if (![self isKindOfClass:extension.containingMessageClass]) {
|
|
|
[NSException
|
|
|
raise:NSInvalidArgumentException
|
|
|
format:@"Extension %@ used on wrong class (%@ instead of %@)",
|
|
@@ -3189,7 +3189,7 @@ static void ResolveIvarSet(GPBFieldDescriptor *field,
|
|
|
|
|
|
+ (BOOL)resolveClassMethod:(SEL)sel {
|
|
|
// Extensions scoped to a Message and looked up via class methods.
|
|
|
- if (GPBResolveExtensionClassMethod(self, sel)) {
|
|
|
+ if (GPBResolveExtensionClassMethod([self descriptor].messageClass, sel)) {
|
|
|
return YES;
|
|
|
}
|
|
|
return [super resolveClassMethod:sel];
|