//% descriptor: true
syntax = "proto2";

package buf.test;

import "google/protobuf/descriptor.proto";

option (a) = 42;

message Foo {
    option (b) = 42;

    optional int32 x = 1 [(c) = 42];

    oneof y {
        option (d) = 42;
        int32 z = 2 [(c) = 42];
    }

    extensions 5, 6, 7 [(g) = 42];
}

enum Bar {
    option (e) = 42;
    X = 0 [(f) = 42];
}

extend google.protobuf.FileOptions {
    repeated int32 a = 1000;
}

extend google.protobuf.MessageOptions {
    repeated int32 b = 1000;
}

extend google.protobuf.FieldOptions {
    repeated int32 c = 1000;
}

extend google.protobuf.OneofOptions {
    repeated int32 d = 1000;
}

extend google.protobuf.EnumOptions {
    repeated int32 e = 1000;
}

extend google.protobuf.EnumValueOptions {
    repeated int32 f = 1000;
}

extend google.protobuf.ExtensionRangeOptions {
    repeated int32 g = 1000;
}