| // Copyright 2025 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| syntax = "proto2"; |
| |
| option optimize_for = LITE_RUNTIME; |
| |
| package proto_extras; |
| |
| message EmptyProto2EmbeddedMessage {} |
| |
| message EmbeddedMessage { |
| optional string str_field = 1; |
| } |
| |
| enum OuterEnum { |
| OUTER_ENUM_UNSPECIFIED = 0; |
| OUTER_ENUM_OPTION1 = 1; |
| OUTER_ENUM_OPTION2 = 2; |
| } |
| |
| message TestMessageProto2 { |
| optional EmbeddedMessage embedded_message = 1; |
| repeated EmbeddedMessage repeated_embedded_message = 2; |
| optional int32 int32_field = 3; |
| optional int64 int64_field = 4; |
| optional bytes bytes_field = 5; |
| repeated int32 repeated_int32_field = 6; |
| optional OuterEnum outer_enum = 7; |
| |
| oneof oneof_field { |
| int32 maybe_int = 8; |
| bool maybe_bool = 9; |
| EmbeddedMessage maybe_message = 14; |
| OuterEnum maybe_enum = 15; |
| bytes maybe_bytes = 16; |
| } |
| |
| enum InnerEnum { |
| INNER_ENUM_UNSPECIFIED = 0; |
| INNER_ENUM_OPTION1 = 1; |
| INNER_ENUM_OPTION2 = 2; |
| } |
| |
| optional InnerEnum inner_enum = 10; |
| repeated InnerEnum repeated_inner_enum = 11; |
| |
| message InnerMessage { |
| optional int32 int_field = 1; |
| } |
| |
| optional InnerMessage inner_message = 12; |
| optional bool bool_field = 13; |
| optional uint64 uint64_field = 17; |
| |
| map<int32, string> primitive_map_field = 18; |
| map<string, EmbeddedMessage> message_map_field = 19; |
| optional EmptyProto2EmbeddedMessage empty_embedded_message = 20; |
| } |