blob: 6c69cf079b9639472e52d550e6a134ac3e6f59a9 [file] [log] [blame]
edition = "2023";
package editions_unittest;
import "google/protobuf/unittest_delimited_import.proto";
option java_multiple_files = true;
// Test various scenarios that are now possible in edition 2023 that weren't in
// google.protobuf.
message LengthPrefixed {
int32 a = 1;
int32 b = 2;
}
message NotGroupLikeScope {
int32 a = 1;
int32 b = 2;
}
message GroupLikeFileScope {
int32 a = 1;
int32 b = 2;
}
message TestDelimited {
message LengthPrefixed {
int32 a = 1;
int32 b = 2;
}
// Non-delimited field that otherwise looks group-like.
LengthPrefixed lengthprefixed = 1;
// Nested field for nested tests.
TestDelimited nested = 2 [features.message_encoding = DELIMITED];
message GroupLike {
int32 a = 1;
int32 b = 2;
}
// Truly group-like field.
GroupLike grouplike = 3 [features.message_encoding = DELIMITED];
// Delimited field that isn't group-like solely because of its name.
GroupLike notgrouplike = 4 [features.message_encoding = DELIMITED];
// Delimited field that isn't group-like because of the scope of its type.
NotGroupLikeScope notgrouplikescope = 5
[features.message_encoding = DELIMITED];
// Delimited field that's grouplike except that it's an imported type.
MessageImport messageimport = 6 [features.message_encoding = DELIMITED];
extensions 1000 to max;
}
extend TestDelimited {
// Non-delimited field that otherwise looks group-like.
LengthPrefixed lengthprefixed = 1004;
// Truly group-like extension.
GroupLikeFileScope grouplikefilescope = 1000
[features.message_encoding = DELIMITED];
// Delimited extension that isn't group-like because of its name.
NotGroupLikeScope not_group_like_scope = 1001
[features.message_encoding = DELIMITED];
// Delimited extension that isn't group-like because of the scope of its type.
TestDelimited.GroupLike grouplike = 1002
[features.message_encoding = DELIMITED];
// Delimited extension that's grouplike except that it's an imported type.
MessageImport messageimport = 1003 [features.message_encoding = DELIMITED];
}