diff --git a/Tools/AGSParser.m b/Tools/AGSParser.m index ba044726f..79dc0efde 100644 --- a/Tools/AGSParser.m +++ b/Tools/AGSParser.m @@ -1604,7 +1604,7 @@ recheck: || [s isEqualToString: @"NS_ENUM"] || [s isEqualToString: @"NS_OPTIONS"]) { - BOOL isEnum = NO; + BOOL isEnum = NO; NSString *tmp = s; if ([s isEqualToString: @"NS_ENUM"] @@ -1615,20 +1615,28 @@ recheck: pos++; [self parseSpace]; s = [self parseIdentifier]; - if (nil != s && [self parseSpace] < length - && buffer[pos] == ',') + if (s) { - tmp = [tmp stringByAppendingFormat: @"(%@)", s]; - pos++; - [self parseSpace]; - s = [self parseIdentifier]; - if (nil != s && [self parseSpace] < length - && buffer[pos] == ')') + tmp = [tmp stringByAppendingFormat: @"(%@", s]; + while ([self parseSpace] < length + && (s = [self parseIdentifier]) != nil) { - isEnum = YES; + tmp = [tmp stringByAppendingFormat: @" %@", s]; + } + if (pos < length && buffer[pos] == ',') + { + tmp = [tmp stringByAppendingString: @")"]; pos++; - baseName = s; - s = tmp; + [self parseSpace]; + s = [self parseIdentifier]; + if (nil != s && [self parseSpace] < length + && buffer[pos] == ')') + { + isEnum = YES; + pos++; + baseName = s; + s = tmp; + } } } } diff --git a/Tools/autogsdoc.m b/Tools/autogsdoc.m index 8af5a5948..7db13f05e 100644 --- a/Tools/autogsdoc.m +++ b/Tools/autogsdoc.m @@ -1312,11 +1312,16 @@ main(int argc, char **argv, char **env) [wm setObject: @"" forKey: @"GS_UNUSED_IVAR"]; [wm setObject: @"" forKey: @"GS_ZONE_ATTR"]; [wm setObject: @"extern" forKey: @"GS_ZONE_SCOPE"]; + [wm setObject: @"" forKey: @"NS_ASSUME_NONNULL_BEGIN"]; + [wm setObject: @"" forKey: @"NS_ASSUME_NONNULL_END"]; [wm setObject: @"" forKey: @"NS_AUTOMATED_REFCOUNT_UNAVAILABLE"]; [wm setObject: @"" forKey: @"NS_CONSUMED"]; [wm setObject: @"" forKey: @"NS_CONSUMES_SELF"]; [wm setObject: @"" forKey: @"NS_RETURNS_NOT_RETAINED"]; [wm setObject: @"" forKey: @"NS_RETURNS_RETAINED"]; + [wm setObject: @"" forKey: @"_Nonnull"]; + [wm setObject: @"" forKey: @"_Null_unspecified"]; + [wm setObject: @"" forKey: @"_Nullable"]; [wm setObject: @"" forKey: @"__strong"]; [wm setObject: @"" forKey: @"__weak"]; [wm setObject: @"" forKey: @"WEAK_ATTRIBUTE"];