blob: 7ca287384012192359cf77c91d5da88d8595c7ab [file] [log] [blame]
// Protocol Buffers - Google's data interchange format
// Copyright 2023 Google LLC. All rights reserved.
//
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file or at
// https://developers.google.com/open-source/licenses/bsd
syntax = "proto2";
package nest;
message Outer {
message Inner {
message InnerSubMsg {
optional bool flag = 1;
}
enum InnerEnum {
INNER_ENUM_UNSPECIFIED = 0;
INNER_ENUM_FOO = 1;
}
optional double double = 1;
optional float float = 2;
optional int32 int32 = 3;
optional int64 int64 = 4;
optional uint32 uint32 = 5;
optional uint64 uint64 = 6;
optional sint32 sint32 = 7;
optional sint64 sint64 = 8;
optional fixed32 fixed32 = 9;
optional fixed64 fixed64 = 10;
optional sfixed32 sfixed32 = 11;
optional sfixed64 sfixed64 = 12;
optional bool bool = 13;
optional string string = 14;
optional bytes bytes = 15;
optional InnerSubMsg inner_submsg = 16;
optional InnerEnum inner_enum = 17;
repeated int32 repeated_int32 = 18 [packed = true];
repeated InnerSubMsg repeated_inner_submsg = 19;
map<string, string> string_map = 20;
message SuperInner {
message DuperInner {
message EvenMoreInner {
message CantBelieveItsSoInner {
optional int32 num = 99;
}
enum JustWayTooInner {
JUST_WAY_TOO_INNER_UNSPECIFIED = 0;
}
}
}
}
}
optional Inner inner = 1;
optional .nest.Outer.Inner.SuperInner.DuperInner.EvenMoreInner
.CantBelieveItsSoInner deep = 2;
optional .nest.Outer.Inner.SuperInner.DuperInner.EvenMoreInner.JustWayTooInner
deep_enum = 4;
optional NotInside notinside = 3;
}
message NotInside {
optional int32 num = 1;
}
message Recursive {
optional Recursive rec = 1;
optional int32 num = 2;
}