syntax = "proto2";

// Message1Comment
message Message1
{
    // LeadingMemberComment
    required int32 member1 = 1;
    required int32 member2 = 2; // TrailingMemberComment
}

// Enum1Comment
enum Enum1
{
    // LeadingEnumComment
    ENUMVAL1 = 1;
    ENUMVAL2 = 2; // TrailingEnumComment
}

message Message2
{
    required string m2member1 = 1; // m2comment1
    required string m2member50 = 50; // m2comment50
    required string m2member4 = 4; // m2comment4

    oneof m2oneof {
        int32 m2oneof10 = 10; // m2oneof10_comment
        int32 m2oneof5 = 5; // m2oneof5_comment
    }
}

message Message3
{
    message SubMessage {
        required int32 subfield = 1; // subfield_comment

        enum SubEnum
        {
            A = 0; /// A_comment
            B = 1; /// B_comment
            C = 2; /// C_comment
        }
    }
}
