Respond to CR.

This commit is contained in:
Matthew Chen 2018-08-03 15:50:27 -04:00
parent 3f47524373
commit a647b5be48
6 changed files with 36 additions and 142 deletions

View File

@ -556,17 +556,13 @@ public func serializedData() throws -> Data {
writer.add('var %s: %s = %s' % (field.name_swift, field.type_swift, default_value)) writer.add('var %s: %s = %s' % (field.name_swift, field.type_swift, default_value))
if field.rules == 'repeated': if field.rules == 'repeated':
writer.add('for item in proto.%s {' % (field.name_swift))
writer.push_indent()
if self.is_field_an_enum(field): if self.is_field_an_enum(field):
enum_context = self.context_for_proto_type(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): 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: else:
writer.add('let wrapped = item') writer.add('%s = proto.%s' % ( field.name_swift, field.name_swift, ) )
writer.add('%s.append(wrapped)' % ( field.name_swift, ) )
else: else:
writer.add('if proto.%s {' % field.has_accessor_name() ) writer.add('if proto.%s {' % field.has_accessor_name() )
writer.push_indent() writer.push_indent()
@ -580,8 +576,8 @@ public func serializedData() throws -> Data {
else: else:
writer.add('%s = proto.%s' % ( field.name_swift, field.name_swift, ) ) writer.add('%s = proto.%s' % ( field.name_swift, field.name_swift, ) )
writer.pop_indent() writer.pop_indent()
writer.add('}') writer.add('}')
writer.newline() writer.newline()
writer.add('// MARK: - Begin Validation Logic for %s -' % self.swift_name) 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:] 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.add('@objc public func %s(_ wrappedItems: [%s]) {' % ( accessor_name, self.base_swift_type_for_field(field), ))
writer.push_indent() 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): if self.is_field_an_enum(field):
enum_context = self.context_for_proto_type(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): 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: else:
writer.add('unwrappedItems.append(wrappedItem)') writer.add('proto.%s = wrappedItems' % ( field.name_swift, ) )
writer.pop_indent()
writer.add('}')
writer.add('proto.%s = unwrappedItems' % ( field.name_swift, ) )
writer.pop_indent() writer.pop_indent()
writer.add('}') writer.add('}')
writer.newline() writer.newline()
@ -1021,7 +1002,7 @@ def preserve_validation_logic(args, proto_file_path, dst_file_path):
end = old_text.find(end_marker) end = old_text.find(end_marker)
# print '\t end:', end # print '\t end:', end
if end < start: 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] validation_block = old_text[start:end]
# print '\t validation_block:', validation_block # print '\t validation_block:', validation_block

View File

@ -36,7 +36,7 @@ NS_ASSUME_NONNULL_BEGIN
- (nullable SSKProtoDataMessageBuilder *)dataMessageBuilder - (nullable SSKProtoDataMessageBuilder *)dataMessageBuilder
{ {
SSKProtoDataMessageBuilder *_Nullable builder = [super dataMessageBuilder]; SSKProtoDataMessageBuilder *_Nullable builder = [super dataMessageBuilder];
if (!dataMessageBuilder) { if (!builder) {
return nil; return nil;
} }
[builder setTimestamp:self.timestamp]; [builder setTimestamp:self.timestamp];

View File

@ -294,7 +294,7 @@ NS_ASSUME_NONNULL_BEGIN
return; return;
} }
if (envelope.hasContent) { if (envelope.content != nil) {
NSError *error; NSError *error;
SSKProtoContent *_Nullable contentProto = [SSKProtoContent parseData:plaintextData error:&error]; SSKProtoContent *_Nullable contentProto = [SSKProtoContent parseData:plaintextData error:&error];
if (error || !contentProto) { if (error || !contentProto) {
@ -320,7 +320,7 @@ NS_ASSUME_NONNULL_BEGIN
} else { } else {
DDLogWarn(@"%@ Ignoring envelope. Content with no known payload", self.logTag); 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; NSError *error;
SSKProtoDataMessage *_Nullable dataMessageProto = [SSKProtoDataMessage parseData:plaintextData error:&error]; SSKProtoDataMessage *_Nullable dataMessageProto = [SSKProtoDataMessage parseData:plaintextData error:&error];
if (error || !dataMessageProto) { if (error || !dataMessageProto) {

View File

@ -846,11 +846,7 @@ public enum SSKProtoError: Error {
} }
@objc public func setIceUpdate(_ wrappedItems: [SSKProtoCallMessageIceUpdate]) { @objc public func setIceUpdate(_ wrappedItems: [SSKProtoCallMessageIceUpdate]) {
var unwrappedItems = [SignalServiceProtos_CallMessage.IceUpdate]() proto.iceUpdate = wrappedItems.map { $0.proto }
for wrappedItem in wrappedItems {
unwrappedItems.append(wrappedItem.proto)
}
proto.iceUpdate = unwrappedItems
} }
@objc public func setHangup(_ valueParam: SSKProtoCallMessageHangup) { @objc public func setHangup(_ valueParam: SSKProtoCallMessageHangup) {
@ -962,10 +958,7 @@ public enum SSKProtoError: Error {
} }
var iceUpdate: [SSKProtoCallMessageIceUpdate] = [] var iceUpdate: [SSKProtoCallMessageIceUpdate] = []
for item in proto.iceUpdate { iceUpdate = try proto.iceUpdate.map { try SSKProtoCallMessageIceUpdate.parseProto($0) }
let wrapped = try SSKProtoCallMessageIceUpdate.parseProto(item)
iceUpdate.append(wrapped)
}
var hangup: SSKProtoCallMessageHangup? = nil var hangup: SSKProtoCallMessageHangup? = nil
if proto.hasHangup { if proto.hasHangup {
@ -1161,11 +1154,7 @@ public enum SSKProtoError: Error {
} }
@objc public func setAttachments(_ wrappedItems: [SSKProtoDataMessageQuoteQuotedAttachment]) { @objc public func setAttachments(_ wrappedItems: [SSKProtoDataMessageQuoteQuotedAttachment]) {
var unwrappedItems = [SignalServiceProtos_DataMessage.Quote.QuotedAttachment]() proto.attachments = wrappedItems.map { $0.proto }
for wrappedItem in wrappedItems {
unwrappedItems.append(wrappedItem.proto)
}
proto.attachments = unwrappedItems
} }
// NOTE: This method is intended for debugging purposes only. // NOTE: This method is intended for debugging purposes only.
@ -1245,10 +1234,7 @@ public enum SSKProtoError: Error {
let author = proto.author let author = proto.author
var attachments: [SSKProtoDataMessageQuoteQuotedAttachment] = [] var attachments: [SSKProtoDataMessageQuoteQuotedAttachment] = []
for item in proto.attachments { attachments = try proto.attachments.map { try SSKProtoDataMessageQuoteQuotedAttachment.parseProto($0) }
let wrapped = try SSKProtoDataMessageQuoteQuotedAttachment.parseProto(item)
attachments.append(wrapped)
}
// MARK: - Begin Validation Logic for SSKProtoDataMessageQuote - // MARK: - Begin Validation Logic for SSKProtoDataMessageQuote -
@ -2001,11 +1987,7 @@ public enum SSKProtoError: Error {
} }
@objc public func setNumber(_ wrappedItems: [SSKProtoDataMessageContactPhone]) { @objc public func setNumber(_ wrappedItems: [SSKProtoDataMessageContactPhone]) {
var unwrappedItems = [SignalServiceProtos_DataMessage.Contact.Phone]() proto.number = wrappedItems.map { $0.proto }
for wrappedItem in wrappedItems {
unwrappedItems.append(wrappedItem.proto)
}
proto.number = unwrappedItems
} }
@objc public func addEmail(_ valueParam: SSKProtoDataMessageContactEmail) { @objc public func addEmail(_ valueParam: SSKProtoDataMessageContactEmail) {
@ -2015,11 +1997,7 @@ public enum SSKProtoError: Error {
} }
@objc public func setEmail(_ wrappedItems: [SSKProtoDataMessageContactEmail]) { @objc public func setEmail(_ wrappedItems: [SSKProtoDataMessageContactEmail]) {
var unwrappedItems = [SignalServiceProtos_DataMessage.Contact.Email]() proto.email = wrappedItems.map { $0.proto }
for wrappedItem in wrappedItems {
unwrappedItems.append(wrappedItem.proto)
}
proto.email = unwrappedItems
} }
@objc public func addAddress(_ valueParam: SSKProtoDataMessageContactPostalAddress) { @objc public func addAddress(_ valueParam: SSKProtoDataMessageContactPostalAddress) {
@ -2029,11 +2007,7 @@ public enum SSKProtoError: Error {
} }
@objc public func setAddress(_ wrappedItems: [SSKProtoDataMessageContactPostalAddress]) { @objc public func setAddress(_ wrappedItems: [SSKProtoDataMessageContactPostalAddress]) {
var unwrappedItems = [SignalServiceProtos_DataMessage.Contact.PostalAddress]() proto.address = wrappedItems.map { $0.proto }
for wrappedItem in wrappedItems {
unwrappedItems.append(wrappedItem.proto)
}
proto.address = unwrappedItems
} }
@objc public func setAvatar(_ valueParam: SSKProtoDataMessageContactAvatar) { @objc public func setAvatar(_ valueParam: SSKProtoDataMessageContactAvatar) {
@ -2130,22 +2104,13 @@ public enum SSKProtoError: Error {
} }
var number: [SSKProtoDataMessageContactPhone] = [] var number: [SSKProtoDataMessageContactPhone] = []
for item in proto.number { number = try proto.number.map { try SSKProtoDataMessageContactPhone.parseProto($0) }
let wrapped = try SSKProtoDataMessageContactPhone.parseProto(item)
number.append(wrapped)
}
var email: [SSKProtoDataMessageContactEmail] = [] var email: [SSKProtoDataMessageContactEmail] = []
for item in proto.email { email = try proto.email.map { try SSKProtoDataMessageContactEmail.parseProto($0) }
let wrapped = try SSKProtoDataMessageContactEmail.parseProto(item)
email.append(wrapped)
}
var address: [SSKProtoDataMessageContactPostalAddress] = [] var address: [SSKProtoDataMessageContactPostalAddress] = []
for item in proto.address { address = try proto.address.map { try SSKProtoDataMessageContactPostalAddress.parseProto($0) }
let wrapped = try SSKProtoDataMessageContactPostalAddress.parseProto(item)
address.append(wrapped)
}
var avatar: SSKProtoDataMessageContactAvatar? = nil var avatar: SSKProtoDataMessageContactAvatar? = nil
if proto.hasAvatar { if proto.hasAvatar {
@ -2213,11 +2178,7 @@ public enum SSKProtoError: Error {
} }
@objc public func setAttachments(_ wrappedItems: [SSKProtoAttachmentPointer]) { @objc public func setAttachments(_ wrappedItems: [SSKProtoAttachmentPointer]) {
var unwrappedItems = [SignalServiceProtos_AttachmentPointer]() proto.attachments = wrappedItems.map { $0.proto }
for wrappedItem in wrappedItems {
unwrappedItems.append(wrappedItem.proto)
}
proto.attachments = unwrappedItems
} }
@objc public func setGroup(_ valueParam: SSKProtoGroupContext) { @objc public func setGroup(_ valueParam: SSKProtoGroupContext) {
@ -2251,11 +2212,7 @@ public enum SSKProtoError: Error {
} }
@objc public func setContact(_ wrappedItems: [SSKProtoDataMessageContact]) { @objc public func setContact(_ wrappedItems: [SSKProtoDataMessageContact]) {
var unwrappedItems = [SignalServiceProtos_DataMessage.Contact]() proto.contact = wrappedItems.map { $0.proto }
for wrappedItem in wrappedItems {
unwrappedItems.append(wrappedItem.proto)
}
proto.contact = unwrappedItems
} }
// NOTE: This method is intended for debugging purposes only. // 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 { fileprivate class func parseProto(_ proto: SignalServiceProtos_DataMessage) throws -> SSKProtoDataMessage {
var attachments: [SSKProtoAttachmentPointer] = [] var attachments: [SSKProtoAttachmentPointer] = []
for item in proto.attachments { attachments = try proto.attachments.map { try SSKProtoAttachmentPointer.parseProto($0) }
let wrapped = try SSKProtoAttachmentPointer.parseProto(item)
attachments.append(wrapped)
}
var group: SSKProtoGroupContext? = nil var group: SSKProtoGroupContext? = nil
if proto.hasGroup { if proto.hasGroup {
@ -2382,10 +2336,7 @@ public enum SSKProtoError: Error {
} }
var contact: [SSKProtoDataMessageContact] = [] var contact: [SSKProtoDataMessageContact] = []
for item in proto.contact { contact = try proto.contact.map { try SSKProtoDataMessageContact.parseProto($0) }
let wrapped = try SSKProtoDataMessageContact.parseProto(item)
contact.append(wrapped)
}
// MARK: - Begin Validation Logic for SSKProtoDataMessage - // MARK: - Begin Validation Logic for SSKProtoDataMessage -
@ -2523,11 +2474,7 @@ public enum SSKProtoError: Error {
} }
@objc public func setTimestamp(_ wrappedItems: [UInt64]) { @objc public func setTimestamp(_ wrappedItems: [UInt64]) {
var unwrappedItems = [UInt64]() proto.timestamp = wrappedItems
for wrappedItem in wrappedItems {
unwrappedItems.append(wrappedItem)
}
proto.timestamp = unwrappedItems
} }
// NOTE: This method is intended for debugging purposes only. // NOTE: This method is intended for debugging purposes only.
@ -3048,11 +2995,7 @@ public enum SSKProtoError: Error {
} }
@objc public func setNumbers(_ wrappedItems: [String]) { @objc public func setNumbers(_ wrappedItems: [String]) {
var unwrappedItems = [String]() proto.numbers = wrappedItems
for wrappedItem in wrappedItems {
unwrappedItems.append(wrappedItem)
}
proto.numbers = unwrappedItems
} }
// NOTE: This method is intended for debugging purposes only. // NOTE: This method is intended for debugging purposes only.
@ -3425,11 +3368,7 @@ public enum SSKProtoError: Error {
} }
@objc public func setRead(_ wrappedItems: [SSKProtoSyncMessageRead]) { @objc public func setRead(_ wrappedItems: [SSKProtoSyncMessageRead]) {
var unwrappedItems = [SignalServiceProtos_SyncMessage.Read]() proto.read = wrappedItems.map { $0.proto }
for wrappedItem in wrappedItems {
unwrappedItems.append(wrappedItem.proto)
}
proto.read = unwrappedItems
} }
@objc public func setBlocked(_ valueParam: SSKProtoSyncMessageBlocked) { @objc public func setBlocked(_ valueParam: SSKProtoSyncMessageBlocked) {
@ -3576,10 +3515,7 @@ public enum SSKProtoError: Error {
} }
var read: [SSKProtoSyncMessageRead] = [] var read: [SSKProtoSyncMessageRead] = []
for item in proto.read { read = try proto.read.map { try SSKProtoSyncMessageRead.parseProto($0) }
let wrapped = try SSKProtoSyncMessageRead.parseProto(item)
read.append(wrapped)
}
var blocked: SSKProtoSyncMessageBlocked? = nil var blocked: SSKProtoSyncMessageBlocked? = nil
if proto.hasBlocked { if proto.hasBlocked {
@ -3885,11 +3821,7 @@ public enum SSKProtoError: Error {
} }
@objc public func setMembers(_ wrappedItems: [String]) { @objc public func setMembers(_ wrappedItems: [String]) {
var unwrappedItems = [String]() proto.members = wrappedItems
for wrappedItem in wrappedItems {
unwrappedItems.append(wrappedItem)
}
proto.members = unwrappedItems
} }
@objc public func setAvatar(_ valueParam: SSKProtoAttachmentPointer) { @objc public func setAvatar(_ valueParam: SSKProtoAttachmentPointer) {
@ -4380,11 +4312,7 @@ public enum SSKProtoError: Error {
} }
@objc public func setMembers(_ wrappedItems: [String]) { @objc public func setMembers(_ wrappedItems: [String]) {
var unwrappedItems = [String]() proto.members = wrappedItems
for wrappedItem in wrappedItems {
unwrappedItems.append(wrappedItem)
}
proto.members = unwrappedItems
} }
@objc public func setAvatar(_ valueParam: SSKProtoGroupDetailsAvatar) { @objc public func setAvatar(_ valueParam: SSKProtoGroupDetailsAvatar) {

View File

@ -153,11 +153,7 @@ public enum SignalIOSProtoError: Error {
} }
@objc public func setEntity(_ wrappedItems: [SignalIOSProtoBackupSnapshotBackupEntity]) { @objc public func setEntity(_ wrappedItems: [SignalIOSProtoBackupSnapshotBackupEntity]) {
var unwrappedItems = [IOSProtos_BackupSnapshot.BackupEntity]() proto.entity = wrappedItems.map { $0.proto }
for wrappedItem in wrappedItems {
unwrappedItems.append(wrappedItem.proto)
}
proto.entity = unwrappedItems
} }
// NOTE: This method is intended for debugging purposes only. // 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 { fileprivate class func parseProto(_ proto: IOSProtos_BackupSnapshot) throws -> SignalIOSProtoBackupSnapshot {
var entity: [SignalIOSProtoBackupSnapshotBackupEntity] = [] var entity: [SignalIOSProtoBackupSnapshotBackupEntity] = []
for item in proto.entity { entity = try proto.entity.map { try SignalIOSProtoBackupSnapshotBackupEntity.parseProto($0) }
let wrapped = try SignalIOSProtoBackupSnapshotBackupEntity.parseProto(item)
entity.append(wrapped)
}
// MARK: - Begin Validation Logic for SignalIOSProtoBackupSnapshot - // MARK: - Begin Validation Logic for SignalIOSProtoBackupSnapshot -

View File

@ -42,11 +42,7 @@ public enum WebSocketProtoError: Error {
} }
@objc public func setHeaders(_ wrappedItems: [String]) { @objc public func setHeaders(_ wrappedItems: [String]) {
var unwrappedItems = [String]() proto.headers = wrappedItems
for wrappedItem in wrappedItems {
unwrappedItems.append(wrappedItem)
}
proto.headers = unwrappedItems
} }
@objc public func setRequestID(_ valueParam: UInt64) { @objc public func setRequestID(_ valueParam: UInt64) {
@ -181,11 +177,7 @@ public enum WebSocketProtoError: Error {
} }
@objc public func setHeaders(_ wrappedItems: [String]) { @objc public func setHeaders(_ wrappedItems: [String]) {
var unwrappedItems = [String]() proto.headers = wrappedItems
for wrappedItem in wrappedItems {
unwrappedItems.append(wrappedItem)
}
proto.headers = unwrappedItems
} }
@objc public func setBody(_ valueParam: Data) { @objc public func setBody(_ valueParam: Data) {