浏览代码

Merge pull request #2985 from thomasvl/class_check_tweaks

Tighten up class usage/checks.
Thomas Van Lenten 8 年之前
父节点
当前提交
a3873cafae
共有 1 个文件被更改,包括 2 次插入2 次删除
  1. 2 2
      objectivec/GPBMessage.m

+ 2 - 2
objectivec/GPBMessage.m

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