| // Copyright 2024 The Go Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| |
| syntax = "proto2"; |
| |
| package lazy_extension_test; |
| |
| import "internal/testprotos/messageset/messagesetpb/message_set.proto"; |
| |
| option go_package = "google.golang.org/protobuf/internal/testprotos/lazy"; |
| |
| // This message contains a message set. |
| message Holder { |
| optional goproto.proto.messageset.MessageSet data = 1; |
| } |
| |
| // This message may be inserted into a message set. |
| message Rabbit { |
| extend goproto.proto.messageset.MessageSet { |
| optional Rabbit message_set_extension = 345570595; |
| } |
| optional string name = 1; |
| } |
| |
| enum FlyingFoxSpecies { |
| FLYING_FOX_UNDEFINED = 0; |
| GREY_HEADED = 1; |
| BLACK = 2; |
| SPECTACLED = 3; |
| LARGE_EARED = 4; |
| DUSKY = 5; |
| TORRESIAN = 6; |
| BARE_BACKED = 7; |
| } |
| |
| enum PipistrelleSpecies { |
| PIPISTRELLE_UNDEFINED = 0; |
| FOREST = 1; |
| INDIAN = 2; |
| EGYPTIAN = 3; |
| RUSTY = 4; |
| LEAST = 5; |
| } |
| |
| message FlyingFox { |
| optional FlyingFoxSpecies species = 1; |
| } |
| |
| message Tree { |
| optional bool eucalyptus = 1; |
| extensions 10000 to max; |
| } |
| |
| extend Tree { |
| optional FlyingFox bat = 345570595; |
| } |
| |
| extend Tree { |
| optional FlyingFox bat_pup = 345570596; |
| } |
| |
| extend Tree { |
| repeated FlyingFox bat_posse = 345570597; |
| optional bytes binary_bat = 345570598; |
| optional uint32 integer_bat = 345570599; |
| optional group Pipistrelle = 345570600 { |
| optional PipistrelleSpecies species = 1; |
| } |
| repeated group Pipistrelles = 345570601 { |
| optional PipistrelleSpecies species = 1; |
| } |
| } |
| |
| // And the ugly version that is not encouraged |
| message BatNest { |
| extend Tree { |
| optional FlyingFox bat = 345570602; |
| } |
| } |