Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(224)

Unified Diff: third_party/protobuf/objectivec/GPBDescriptor.m

Issue 2590803003: Revert "third_party/protobuf: Update to HEAD (83d681ee2c)" (Closed)
Patch Set: Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/protobuf/objectivec/GPBDescriptor.m
diff --git a/third_party/protobuf/objectivec/GPBDescriptor.m b/third_party/protobuf/objectivec/GPBDescriptor.m
index 0753a9485bb833c56715269ffb621d4a5059dca6..2709737cad6ad26eda139af8d9a42880d2a63e16 100644
--- a/third_party/protobuf/objectivec/GPBDescriptor.m
+++ b/third_party/protobuf/objectivec/GPBDescriptor.m
@@ -36,16 +36,8 @@
#import "GPBWireFormat.h"
#import "GPBMessage_PackagePrivate.h"
-// Direct access is use for speed, to avoid even internally declaring things
-// read/write, etc. The warning is enabled in the project to ensure code calling
-// protos can turn on -Wdirect-ivar-access without issues.
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdirect-ivar-access"
-
-// The addresses of these variables are used as keys for objc_getAssociatedObject.
+// The address of this variable is used as a key for obj_getAssociatedObject.
static const char kTextFormatExtraValueKey = 0;
-static const char kParentClassNameValueKey = 0;
-static const char kClassNameSuffixKey = 0;
// Utility function to generate selectors on the fly.
static SEL SelFromStrings(const char *prefix, const char *middle,
@@ -217,102 +209,10 @@ static NSArray *NewFieldsArrayForHasIndex(int hasIndex,
extensionRangesCount_ = count;
}
-- (void)setupContainingMessageClassName:(const char *)msgClassName {
- // Note: Only fetch the class here, can't send messages to it because
- // that could cause cycles back to this class within +initialize if
- // two messages have each other in fields (i.e. - they build a graph).
- NSAssert(objc_getClass(msgClassName), @"Class %s not defined", msgClassName);
- NSValue *parentNameValue = [NSValue valueWithPointer:msgClassName];
- objc_setAssociatedObject(self, &kParentClassNameValueKey,
- parentNameValue,
- OBJC_ASSOCIATION_RETAIN_NONATOMIC);
-}
-
-- (void)setupMessageClassNameSuffix:(NSString *)suffix {
- if (suffix.length) {
- objc_setAssociatedObject(self, &kClassNameSuffixKey,
- suffix,
- OBJC_ASSOCIATION_RETAIN_NONATOMIC);
- }
-}
-
- (NSString *)name {
return NSStringFromClass(messageClass_);
}
-- (GPBDescriptor *)containingType {
- NSValue *parentNameValue =
- objc_getAssociatedObject(self, &kParentClassNameValueKey);
- if (!parentNameValue) {
- return nil;
- }
- const char *parentName = [parentNameValue pointerValue];
- Class parentClass = objc_getClass(parentName);
- NSAssert(parentClass, @"Class %s not defined", parentName);
- return [parentClass descriptor];
-}
-
-- (NSString *)fullName {
- NSString *className = NSStringFromClass(self.messageClass);
- GPBFileDescriptor *file = self.file;
- NSString *objcPrefix = file.objcPrefix;
- if (objcPrefix && ![className hasPrefix:objcPrefix]) {
- NSAssert(0,
- @"Class didn't have correct prefix? (%@ - %@)",
- className, objcPrefix);
- return nil;
- }
- GPBDescriptor *parent = self.containingType;
-
- NSString *name = nil;
- if (parent) {
- NSString *parentClassName = NSStringFromClass(parent.messageClass);
- // The generator will add _Class to avoid reserved words, drop it.
- NSString *suffix = objc_getAssociatedObject(parent, &kClassNameSuffixKey);
- if (suffix) {
- if (![parentClassName hasSuffix:suffix]) {
- NSAssert(0,
- @"ParentMessage class didn't have correct suffix? (%@ - %@)",
- className, suffix);
- return nil;
- }
- parentClassName =
- [parentClassName substringToIndex:(parentClassName.length - suffix.length)];
- }
- NSString *parentPrefix = [parentClassName stringByAppendingString:@"_"];
- if (![className hasPrefix:parentPrefix]) {
- NSAssert(0,
- @"Class didn't have the correct parent name prefix? (%@ - %@)",
- parentPrefix, className);
- return nil;
- }
- name = [className substringFromIndex:parentPrefix.length];
- } else {
- name = [className substringFromIndex:objcPrefix.length];
- }
-
- // The generator will add _Class to avoid reserved words, drop it.
- NSString *suffix = objc_getAssociatedObject(self, &kClassNameSuffixKey);
- if (suffix) {
- if (![name hasSuffix:suffix]) {
- NSAssert(0,
- @"Message class didn't have correct suffix? (%@ - %@)",
- name, suffix);
- return nil;
- }
- name = [name substringToIndex:(name.length - suffix.length)];
- }
-
- NSString *prefix = (parent != nil ? parent.fullName : file.package);
- NSString *result;
- if (prefix.length > 0) {
- result = [NSString stringWithFormat:@"%@.%@", prefix, name];
- } else {
- result = name;
- }
- return result;
-}
-
- (id)copyWithZone:(NSZone *)zone {
#pragma unused(zone)
return [self retain];
@@ -349,27 +249,13 @@ static NSArray *NewFieldsArrayForHasIndex(int hasIndex,
@implementation GPBFileDescriptor {
NSString *package_;
- NSString *objcPrefix_;
GPBFileSyntax syntax_;
}
@synthesize package = package_;
-@synthesize objcPrefix = objcPrefix_;
@synthesize syntax = syntax_;
- (instancetype)initWithPackage:(NSString *)package
- objcPrefix:(NSString *)objcPrefix
- syntax:(GPBFileSyntax)syntax {
- self = [super init];
- if (self) {
- package_ = [package copy];
- objcPrefix_ = [objcPrefix copy];
- syntax_ = syntax;
- }
- return self;
-}
-
-- (instancetype)initWithPackage:(NSString *)package
syntax:(GPBFileSyntax)syntax {
self = [super init];
if (self) {
@@ -379,12 +265,6 @@ static NSArray *NewFieldsArrayForHasIndex(int hasIndex,
return self;
}
-- (void)dealloc {
- [package_ release];
- [objcPrefix_ release];
- [super dealloc];
-}
-
@end
@implementation GPBOneofDescriptor
@@ -525,9 +405,6 @@ uint32_t GPBFieldAlternateTag(GPBFieldDescriptor *self) {
// Extra type specific data.
if (isMessage) {
const char *className = coreDesc->dataTypeSpecific.className;
- // Note: Only fetch the class here, can't send messages to it because
- // that could cause cycles back to this class within +initialize if
- // two messages have each other in fields (i.e. - they build a graph).
msgClass_ = objc_getClass(className);
NSAssert(msgClass_, @"Class %s not defined", className);
} else if (dataType == GPBDataTypeEnum) {
@@ -868,22 +745,6 @@ uint32_t GPBFieldAlternateTag(GPBFieldDescriptor *self) {
return NO;
}
-- (BOOL)getValue:(int32_t *)outValue forEnumTextFormatName:(NSString *)textFormatName {
- if (nameOffsets_ == NULL) [self calcValueNameOffsets];
-
- for (uint32_t i = 0; i < valueCount_; ++i) {
- int32_t value = values_[i];
- NSString *valueTextFormatName = [self textFormatNameForValue:value];
- if ([valueTextFormatName isEqual:textFormatName]) {
- if (outValue) {
- *outValue = value;
- }
- return YES;
- }
- }
- return NO;
-}
-
- (NSString *)textFormatNameForValue:(int32_t)number {
if (nameOffsets_ == NULL) [self calcValueNameOffsets];
@@ -942,7 +803,7 @@ uint32_t GPBFieldAlternateTag(GPBFieldDescriptor *self) {
if ((self = [super init])) {
description_ = description;
-#if defined(DEBUG) && DEBUG
+#if DEBUG
const char *className = description->messageOrGroupClassName;
if (className) {
NSAssert(objc_lookUpClass(className) != Nil,
@@ -1100,5 +961,3 @@ uint32_t GPBFieldAlternateTag(GPBFieldDescriptor *self) {
}
@end
-
-#pragma clang diagnostic pop
« no previous file with comments | « third_party/protobuf/objectivec/GPBDescriptor.h ('k') | third_party/protobuf/objectivec/GPBDescriptor_PackagePrivate.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698