Add a objc_class_prefix to test_messages_proto3.proto.

Both test_messages_proto3.proto & test_messages_proto2.proto define
message ForeignMessage {...} and enum ForeignEnum {...} but since
objc doesn't use the proto package in the naming, these end up
conflicting.

Adding the objc_class_prefix option to the proto3 file ensure the generated
objc types are all unique.
pull/3420/head
Thomas Van Lenten 8 years ago
parent 8d5f2c57e8
commit 21800ff84f
  1. 6
      conformance/conformance_objc.m
  2. 1
      src/google/protobuf/test_messages_proto3.proto

@ -63,7 +63,7 @@ static NSData *CheckedReadDataOfLength(NSFileHandle *handle, NSUInteger numBytes
static ConformanceResponse *DoTest(ConformanceRequest *request) {
ConformanceResponse *response = [ConformanceResponse message];
TestAllTypesProto3 *testMessage = nil;
Proto3TestAllTypesProto3 *testMessage = nil;
switch (request.payloadOneOfCase) {
case ConformanceRequest_Payload_OneOfCase_GPBUnsetOneOfCase:
@ -73,8 +73,8 @@ static ConformanceResponse *DoTest(ConformanceRequest *request) {
case ConformanceRequest_Payload_OneOfCase_ProtobufPayload: {
if ([request.messageType isEqualToString:@"protobuf_test_messages.proto3.TestAllTypesProto3"]) {
NSError *error = nil;
testMessage = [TestAllTypesProto3 parseFromData:request.protobufPayload
error:&error];
testMessage = [Proto3TestAllTypesProto3 parseFromData:request.protobufPayload
error:&error];
if (!testMessage) {
response.parseError =
[NSString stringWithFormat:@"Parse error: %@", error];

@ -39,6 +39,7 @@ syntax = "proto3";
package protobuf_test_messages.proto3;
option java_package = "com.google.protobuf_test_messages.proto3";
option objc_class_prefix = "Proto3";
// This is the default, but we specify it here explicitly.
option optimize_for = SPEED;

Loading…
Cancel
Save