Skip to content

Commit e8d52ce

Browse files
authored
Merge pull request #3260 from square/fix_missing_proto_message_conformance
[swift] Fix conformance to ProtoMessage for heap allocated protos
2 parents 81f9533 + 931f8fa commit e8d52ce

File tree

2 files changed

+13
-0
lines changed

2 files changed

+13
-0
lines changed

wire-swift-generator/src/main/java/com/squareup/wire/swift/SwiftGenerator.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -461,6 +461,11 @@ class SwiftGenerator private constructor(
461461
.build()
462462
fileMembers += FileMemberSpec.builder(structProtoCodableExtension).build()
463463

464+
val structMessageConformanceExtension = ExtensionSpec.builder(structType)
465+
.messageConformanceExtension(type)
466+
.build()
467+
fileMembers += FileMemberSpec.builder(structMessageConformanceExtension).build()
468+
464469
val structCodableExtension = heapCodableExtension(structType, storageName, storageType)
465470
fileMembers += FileMemberSpec.builder(structCodableExtension)
466471
.addGuard("!$FLAG_REMOVE_CODABLE")

wire-tests-swift/no-manifest/src/main/swift/AllTypes.swift

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1911,6 +1911,14 @@ extension AllTypes : Proto2Codable {
19111911

19121912
}
19131913

1914+
extension AllTypes : ProtoMessage {
1915+
1916+
public static func protoMessageTypeURL() -> String {
1917+
return "type.googleapis.com/squareup.protos.kotlin.alltypes.AllTypes"
1918+
}
1919+
1920+
}
1921+
19141922
#if !WIRE_REMOVE_CODABLE
19151923
extension AllTypes : Codable {
19161924

0 commit comments

Comments
 (0)