From a647b5be488daa12d3e4c1b5bea31eab97ff20ec Mon Sep 17 00:00:00 2001 From: Matthew Chen Date: Fri, 3 Aug 2018 15:50:27 -0400 Subject: [PATCH] Respond to CR. --- Scripts/ProtoWrappers.py | 37 ++---- .../Interactions/OWSEndSessionMessage.m | 2 +- .../src/Messages/OWSMessageManager.m | 4 +- .../src/Protos/Generated/SSKProto.swift | 112 ++++-------------- .../src/Protos/Generated/SignalIOSProto.swift | 11 +- .../src/Protos/Generated/WebSocketProto.swift | 12 +- 6 files changed, 36 insertions(+), 142 deletions(-) diff --git a/Scripts/ProtoWrappers.py b/Scripts/ProtoWrappers.py index 1ccfcadfe..c1dc7878b 100755 --- a/Scripts/ProtoWrappers.py +++ b/Scripts/ProtoWrappers.py @@ -556,17 +556,13 @@ public func serializedData() throws -> Data { writer.add('var %s: %s = %s' % (field.name_swift, field.type_swift, default_value)) if field.rules == 'repeated': - writer.add('for item in proto.%s {' % (field.name_swift)) - writer.push_indent() - if self.is_field_an_enum(field): enum_context = self.context_for_proto_type(field) - writer.add('let wrapped = %sWrap(item)' % ( enum_context.swift_name, ) ) + writer.add('%s = proto.%s.map { %sWrap($0) }' % ( field.name_swift, field.name_swift, enum_context.swift_name, ) ) elif self.is_field_a_proto(field): - writer.add('let wrapped = try %s.parseProto(item)' % (self.base_swift_type_for_field(field))), + writer.add('%s = try proto.%s.map { try %s.parseProto($0) }' % ( field.name_swift, field.name_swift, self.base_swift_type_for_field(field), ) ) else: - writer.add('let wrapped = item') - writer.add('%s.append(wrapped)' % ( field.name_swift, ) ) + writer.add('%s = proto.%s' % ( field.name_swift, field.name_swift, ) ) else: writer.add('if proto.%s {' % field.has_accessor_name() ) writer.push_indent() @@ -580,8 +576,8 @@ public func serializedData() throws -> Data { else: writer.add('%s = proto.%s' % ( field.name_swift, field.name_swift, ) ) - writer.pop_indent() - writer.add('}') + writer.pop_indent() + writer.add('}') writer.newline() writer.add('// MARK: - Begin Validation Logic for %s -' % self.swift_name) @@ -663,28 +659,13 @@ public func serializedData() throws -> Data { accessor_name = 'set' + accessor_name[0].upper() + accessor_name[1:] writer.add('@objc public func %s(_ wrappedItems: [%s]) {' % ( accessor_name, self.base_swift_type_for_field(field), )) writer.push_indent() - list_wrapped_swift_name = None - if self.is_field_a_proto(field): - message_context = self.context_for_proto_type(field) - list_wrapped_swift_name = message_context.derive_wrapped_swift_name() - else: - # TODO: Assert not an enum. - list_wrapped_swift_name = self.base_swift_type_for_field(field) - writer.add('var unwrappedItems = [%s]()' % list_wrapped_swift_name) - writer.add('for wrappedItem in wrappedItems {') - writer.push_indent() - if self.is_field_an_enum(field): enum_context = self.context_for_proto_type(field) - writer.add('unwrappedItems.append(%sUnwrap(wrappedItem))' % enum_context.swift_name ) + writer.add('proto.%s = wrappedItems.map { %sUnwrap($0) }' % ( field.name_swift, enum_context.swift_name, ) ) elif self.is_field_a_proto(field): - writer.add('unwrappedItems.append(wrappedItem.proto)') + writer.add('proto.%s = wrappedItems.map { $0.proto }' % ( field.name_swift, ) ) else: - writer.add('unwrappedItems.append(wrappedItem)') - - writer.pop_indent() - writer.add('}') - writer.add('proto.%s = unwrappedItems' % ( field.name_swift, ) ) + writer.add('proto.%s = wrappedItems' % ( field.name_swift, ) ) writer.pop_indent() writer.add('}') writer.newline() @@ -1021,7 +1002,7 @@ def preserve_validation_logic(args, proto_file_path, dst_file_path): end = old_text.find(end_marker) # print '\t end:', end if end < start: - raise Exception('Malformed validation: %s' % proto_file_path) + raise Exception('Malformed validation: %s, %s' % ( proto_file_path, name, ) ) validation_block = old_text[start:end] # print '\t validation_block:', validation_block diff --git a/SignalServiceKit/src/Messages/Interactions/OWSEndSessionMessage.m b/SignalServiceKit/src/Messages/Interactions/OWSEndSessionMessage.m index abad30f5a..21503e86a 100644 --- a/SignalServiceKit/src/Messages/Interactions/OWSEndSessionMessage.m +++ b/SignalServiceKit/src/Messages/Interactions/OWSEndSessionMessage.m @@ -36,7 +36,7 @@ NS_ASSUME_NONNULL_BEGIN - (nullable SSKProtoDataMessageBuilder *)dataMessageBuilder { SSKProtoDataMessageBuilder *_Nullable builder = [super dataMessageBuilder]; - if (!dataMessageBuilder) { + if (!builder) { return nil; } [builder setTimestamp:self.timestamp]; diff --git a/SignalServiceKit/src/Messages/OWSMessageManager.m b/SignalServiceKit/src/Messages/OWSMessageManager.m index ce3516fb6..956fee353 100644 --- a/SignalServiceKit/src/Messages/OWSMessageManager.m +++ b/SignalServiceKit/src/Messages/OWSMessageManager.m @@ -294,7 +294,7 @@ NS_ASSUME_NONNULL_BEGIN return; } - if (envelope.hasContent) { + if (envelope.content != nil) { NSError *error; SSKProtoContent *_Nullable contentProto = [SSKProtoContent parseData:plaintextData error:&error]; if (error || !contentProto) { @@ -320,7 +320,7 @@ NS_ASSUME_NONNULL_BEGIN } else { DDLogWarn(@"%@ Ignoring envelope. Content with no known payload", self.logTag); } - } else if (envelope.hasLegacyMessage) { // DEPRECATED - Remove after all clients have been upgraded. + } else if (envelope.legacyMessage != nil) { // DEPRECATED - Remove after all clients have been upgraded. NSError *error; SSKProtoDataMessage *_Nullable dataMessageProto = [SSKProtoDataMessage parseData:plaintextData error:&error]; if (error || !dataMessageProto) { diff --git a/SignalServiceKit/src/Protos/Generated/SSKProto.swift b/SignalServiceKit/src/Protos/Generated/SSKProto.swift index 52c4a8a18..9c2f8c991 100644 --- a/SignalServiceKit/src/Protos/Generated/SSKProto.swift +++ b/SignalServiceKit/src/Protos/Generated/SSKProto.swift @@ -846,11 +846,7 @@ public enum SSKProtoError: Error { } @objc public func setIceUpdate(_ wrappedItems: [SSKProtoCallMessageIceUpdate]) { - var unwrappedItems = [SignalServiceProtos_CallMessage.IceUpdate]() - for wrappedItem in wrappedItems { - unwrappedItems.append(wrappedItem.proto) - } - proto.iceUpdate = unwrappedItems + proto.iceUpdate = wrappedItems.map { $0.proto } } @objc public func setHangup(_ valueParam: SSKProtoCallMessageHangup) { @@ -962,10 +958,7 @@ public enum SSKProtoError: Error { } var iceUpdate: [SSKProtoCallMessageIceUpdate] = [] - for item in proto.iceUpdate { - let wrapped = try SSKProtoCallMessageIceUpdate.parseProto(item) - iceUpdate.append(wrapped) - } + iceUpdate = try proto.iceUpdate.map { try SSKProtoCallMessageIceUpdate.parseProto($0) } var hangup: SSKProtoCallMessageHangup? = nil if proto.hasHangup { @@ -1161,11 +1154,7 @@ public enum SSKProtoError: Error { } @objc public func setAttachments(_ wrappedItems: [SSKProtoDataMessageQuoteQuotedAttachment]) { - var unwrappedItems = [SignalServiceProtos_DataMessage.Quote.QuotedAttachment]() - for wrappedItem in wrappedItems { - unwrappedItems.append(wrappedItem.proto) - } - proto.attachments = unwrappedItems + proto.attachments = wrappedItems.map { $0.proto } } // NOTE: This method is intended for debugging purposes only. @@ -1245,10 +1234,7 @@ public enum SSKProtoError: Error { let author = proto.author var attachments: [SSKProtoDataMessageQuoteQuotedAttachment] = [] - for item in proto.attachments { - let wrapped = try SSKProtoDataMessageQuoteQuotedAttachment.parseProto(item) - attachments.append(wrapped) - } + attachments = try proto.attachments.map { try SSKProtoDataMessageQuoteQuotedAttachment.parseProto($0) } // MARK: - Begin Validation Logic for SSKProtoDataMessageQuote - @@ -2001,11 +1987,7 @@ public enum SSKProtoError: Error { } @objc public func setNumber(_ wrappedItems: [SSKProtoDataMessageContactPhone]) { - var unwrappedItems = [SignalServiceProtos_DataMessage.Contact.Phone]() - for wrappedItem in wrappedItems { - unwrappedItems.append(wrappedItem.proto) - } - proto.number = unwrappedItems + proto.number = wrappedItems.map { $0.proto } } @objc public func addEmail(_ valueParam: SSKProtoDataMessageContactEmail) { @@ -2015,11 +1997,7 @@ public enum SSKProtoError: Error { } @objc public func setEmail(_ wrappedItems: [SSKProtoDataMessageContactEmail]) { - var unwrappedItems = [SignalServiceProtos_DataMessage.Contact.Email]() - for wrappedItem in wrappedItems { - unwrappedItems.append(wrappedItem.proto) - } - proto.email = unwrappedItems + proto.email = wrappedItems.map { $0.proto } } @objc public func addAddress(_ valueParam: SSKProtoDataMessageContactPostalAddress) { @@ -2029,11 +2007,7 @@ public enum SSKProtoError: Error { } @objc public func setAddress(_ wrappedItems: [SSKProtoDataMessageContactPostalAddress]) { - var unwrappedItems = [SignalServiceProtos_DataMessage.Contact.PostalAddress]() - for wrappedItem in wrappedItems { - unwrappedItems.append(wrappedItem.proto) - } - proto.address = unwrappedItems + proto.address = wrappedItems.map { $0.proto } } @objc public func setAvatar(_ valueParam: SSKProtoDataMessageContactAvatar) { @@ -2130,22 +2104,13 @@ public enum SSKProtoError: Error { } var number: [SSKProtoDataMessageContactPhone] = [] - for item in proto.number { - let wrapped = try SSKProtoDataMessageContactPhone.parseProto(item) - number.append(wrapped) - } + number = try proto.number.map { try SSKProtoDataMessageContactPhone.parseProto($0) } var email: [SSKProtoDataMessageContactEmail] = [] - for item in proto.email { - let wrapped = try SSKProtoDataMessageContactEmail.parseProto(item) - email.append(wrapped) - } + email = try proto.email.map { try SSKProtoDataMessageContactEmail.parseProto($0) } var address: [SSKProtoDataMessageContactPostalAddress] = [] - for item in proto.address { - let wrapped = try SSKProtoDataMessageContactPostalAddress.parseProto(item) - address.append(wrapped) - } + address = try proto.address.map { try SSKProtoDataMessageContactPostalAddress.parseProto($0) } var avatar: SSKProtoDataMessageContactAvatar? = nil if proto.hasAvatar { @@ -2213,11 +2178,7 @@ public enum SSKProtoError: Error { } @objc public func setAttachments(_ wrappedItems: [SSKProtoAttachmentPointer]) { - var unwrappedItems = [SignalServiceProtos_AttachmentPointer]() - for wrappedItem in wrappedItems { - unwrappedItems.append(wrappedItem.proto) - } - proto.attachments = unwrappedItems + proto.attachments = wrappedItems.map { $0.proto } } @objc public func setGroup(_ valueParam: SSKProtoGroupContext) { @@ -2251,11 +2212,7 @@ public enum SSKProtoError: Error { } @objc public func setContact(_ wrappedItems: [SSKProtoDataMessageContact]) { - var unwrappedItems = [SignalServiceProtos_DataMessage.Contact]() - for wrappedItem in wrappedItems { - unwrappedItems.append(wrappedItem.proto) - } - proto.contact = unwrappedItems + proto.contact = wrappedItems.map { $0.proto } } // NOTE: This method is intended for debugging purposes only. @@ -2366,10 +2323,7 @@ public enum SSKProtoError: Error { fileprivate class func parseProto(_ proto: SignalServiceProtos_DataMessage) throws -> SSKProtoDataMessage { var attachments: [SSKProtoAttachmentPointer] = [] - for item in proto.attachments { - let wrapped = try SSKProtoAttachmentPointer.parseProto(item) - attachments.append(wrapped) - } + attachments = try proto.attachments.map { try SSKProtoAttachmentPointer.parseProto($0) } var group: SSKProtoGroupContext? = nil if proto.hasGroup { @@ -2382,10 +2336,7 @@ public enum SSKProtoError: Error { } var contact: [SSKProtoDataMessageContact] = [] - for item in proto.contact { - let wrapped = try SSKProtoDataMessageContact.parseProto(item) - contact.append(wrapped) - } + contact = try proto.contact.map { try SSKProtoDataMessageContact.parseProto($0) } // MARK: - Begin Validation Logic for SSKProtoDataMessage - @@ -2523,11 +2474,7 @@ public enum SSKProtoError: Error { } @objc public func setTimestamp(_ wrappedItems: [UInt64]) { - var unwrappedItems = [UInt64]() - for wrappedItem in wrappedItems { - unwrappedItems.append(wrappedItem) - } - proto.timestamp = unwrappedItems + proto.timestamp = wrappedItems } // NOTE: This method is intended for debugging purposes only. @@ -3048,11 +2995,7 @@ public enum SSKProtoError: Error { } @objc public func setNumbers(_ wrappedItems: [String]) { - var unwrappedItems = [String]() - for wrappedItem in wrappedItems { - unwrappedItems.append(wrappedItem) - } - proto.numbers = unwrappedItems + proto.numbers = wrappedItems } // NOTE: This method is intended for debugging purposes only. @@ -3425,11 +3368,7 @@ public enum SSKProtoError: Error { } @objc public func setRead(_ wrappedItems: [SSKProtoSyncMessageRead]) { - var unwrappedItems = [SignalServiceProtos_SyncMessage.Read]() - for wrappedItem in wrappedItems { - unwrappedItems.append(wrappedItem.proto) - } - proto.read = unwrappedItems + proto.read = wrappedItems.map { $0.proto } } @objc public func setBlocked(_ valueParam: SSKProtoSyncMessageBlocked) { @@ -3576,10 +3515,7 @@ public enum SSKProtoError: Error { } var read: [SSKProtoSyncMessageRead] = [] - for item in proto.read { - let wrapped = try SSKProtoSyncMessageRead.parseProto(item) - read.append(wrapped) - } + read = try proto.read.map { try SSKProtoSyncMessageRead.parseProto($0) } var blocked: SSKProtoSyncMessageBlocked? = nil if proto.hasBlocked { @@ -3885,11 +3821,7 @@ public enum SSKProtoError: Error { } @objc public func setMembers(_ wrappedItems: [String]) { - var unwrappedItems = [String]() - for wrappedItem in wrappedItems { - unwrappedItems.append(wrappedItem) - } - proto.members = unwrappedItems + proto.members = wrappedItems } @objc public func setAvatar(_ valueParam: SSKProtoAttachmentPointer) { @@ -4380,11 +4312,7 @@ public enum SSKProtoError: Error { } @objc public func setMembers(_ wrappedItems: [String]) { - var unwrappedItems = [String]() - for wrappedItem in wrappedItems { - unwrappedItems.append(wrappedItem) - } - proto.members = unwrappedItems + proto.members = wrappedItems } @objc public func setAvatar(_ valueParam: SSKProtoGroupDetailsAvatar) { diff --git a/SignalServiceKit/src/Protos/Generated/SignalIOSProto.swift b/SignalServiceKit/src/Protos/Generated/SignalIOSProto.swift index 6b50bb778..cbc0432f9 100644 --- a/SignalServiceKit/src/Protos/Generated/SignalIOSProto.swift +++ b/SignalServiceKit/src/Protos/Generated/SignalIOSProto.swift @@ -153,11 +153,7 @@ public enum SignalIOSProtoError: Error { } @objc public func setEntity(_ wrappedItems: [SignalIOSProtoBackupSnapshotBackupEntity]) { - var unwrappedItems = [IOSProtos_BackupSnapshot.BackupEntity]() - for wrappedItem in wrappedItems { - unwrappedItems.append(wrappedItem.proto) - } - proto.entity = unwrappedItems + proto.entity = wrappedItems.map { $0.proto } } // NOTE: This method is intended for debugging purposes only. @@ -209,10 +205,7 @@ public enum SignalIOSProtoError: Error { fileprivate class func parseProto(_ proto: IOSProtos_BackupSnapshot) throws -> SignalIOSProtoBackupSnapshot { var entity: [SignalIOSProtoBackupSnapshotBackupEntity] = [] - for item in proto.entity { - let wrapped = try SignalIOSProtoBackupSnapshotBackupEntity.parseProto(item) - entity.append(wrapped) - } + entity = try proto.entity.map { try SignalIOSProtoBackupSnapshotBackupEntity.parseProto($0) } // MARK: - Begin Validation Logic for SignalIOSProtoBackupSnapshot - diff --git a/SignalServiceKit/src/Protos/Generated/WebSocketProto.swift b/SignalServiceKit/src/Protos/Generated/WebSocketProto.swift index b779cbe02..0b4933ff0 100644 --- a/SignalServiceKit/src/Protos/Generated/WebSocketProto.swift +++ b/SignalServiceKit/src/Protos/Generated/WebSocketProto.swift @@ -42,11 +42,7 @@ public enum WebSocketProtoError: Error { } @objc public func setHeaders(_ wrappedItems: [String]) { - var unwrappedItems = [String]() - for wrappedItem in wrappedItems { - unwrappedItems.append(wrappedItem) - } - proto.headers = unwrappedItems + proto.headers = wrappedItems } @objc public func setRequestID(_ valueParam: UInt64) { @@ -181,11 +177,7 @@ public enum WebSocketProtoError: Error { } @objc public func setHeaders(_ wrappedItems: [String]) { - var unwrappedItems = [String]() - for wrappedItem in wrappedItems { - unwrappedItems.append(wrappedItem) - } - proto.headers = unwrappedItems + proto.headers = wrappedItems } @objc public func setBody(_ valueParam: Data) {