Add nonnil markup to ObjC library. Add the clang annotations to the objc library and generated code to help with Swift bridging and compiler checks.
diff --git a/objectivec/GPBRootObject.m b/objectivec/GPBRootObject.m index 3f64825..7036723 100644 --- a/objectivec/GPBRootObject.m +++ b/objectivec/GPBRootObject.m
@@ -36,6 +36,7 @@ #import <CoreFoundation/CoreFoundation.h> #import "GPBDescriptor.h" +#import "GPBExtensionRegistry.h" #import "GPBUtilities_PackagePrivate.h" @interface GPBExtensionDescriptor (GPBRootObject) @@ -97,6 +98,7 @@ static OSSpinLock gExtensionSingletonDictionaryLock_ = OS_SPINLOCK_INIT; static CFMutableDictionaryRef gExtensionSingletonDictionary = NULL; +static GPBExtensionRegistry *gDefaultExtensionRegistry = NULL; + (void)initialize { // Ensure the global is started up. @@ -113,6 +115,7 @@ gExtensionSingletonDictionary = CFDictionaryCreateMutable(kCFAllocatorDefault, 0, &keyCallBacks, &kCFTypeDictionaryValueCallBacks); + gDefaultExtensionRegistry = [[GPBExtensionRegistry alloc] init]; } if ([self superclass] == [GPBRootObject class]) { @@ -126,7 +129,7 @@ + (GPBExtensionRegistry *)extensionRegistry { // Is overridden in all the subclasses that provide extensions to provide the // per class one. - return nil; + return gDefaultExtensionRegistry; } + (void)globallyRegisterExtension:(GPBExtensionDescriptor *)field {