Feng Xiao | e841bac | 2015-12-11 17:09:20 -0800 | [diff] [blame] | 1 | // Protocol Buffers - Google's data interchange format |
| 2 | // Copyright 2008 Google Inc. All rights reserved. |
| 3 | // https://developers.google.com/protocol-buffers/ |
| 4 | // |
| 5 | // Redistribution and use in source and binary forms, with or without |
| 6 | // modification, are permitted provided that the following conditions are |
| 7 | // met: |
| 8 | // |
| 9 | // * Redistributions of source code must retain the above copyright |
| 10 | // notice, this list of conditions and the following disclaimer. |
| 11 | // * Redistributions in binary form must reproduce the above |
| 12 | // copyright notice, this list of conditions and the following disclaimer |
| 13 | // in the documentation and/or other materials provided with the |
| 14 | // distribution. |
| 15 | // * Neither the name of Google Inc. nor the names of its |
| 16 | // contributors may be used to endorse or promote products derived from |
| 17 | // this software without specific prior written permission. |
| 18 | // |
| 19 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
| 20 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
| 21 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
| 22 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
| 23 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
| 24 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
| 25 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
| 26 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
| 27 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
| 28 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
| 29 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| 30 | |
| 31 | syntax = "proto3"; |
| 32 | |
Feng Xiao | e841bac | 2015-12-11 17:09:20 -0800 | [diff] [blame] | 33 | package jspb.test; |
| 34 | |
Joshua Haberman | 6ba5241 | 2020-07-09 18:17:47 -0700 | [diff] [blame] | 35 | import "testbinary.proto"; |
Feng Xiao | e841bac | 2015-12-11 17:09:20 -0800 | [diff] [blame] | 36 | |
Feng Xiao | e841bac | 2015-12-11 17:09:20 -0800 | [diff] [blame] | 37 | message TestProto3 { |
Anton Kast | 4d6712e | 2020-06-05 16:39:02 -0700 | [diff] [blame] | 38 | int32 singular_int32 = 1; |
| 39 | int64 singular_int64 = 2; |
| 40 | uint32 singular_uint32 = 3; |
| 41 | uint64 singular_uint64 = 4; |
| 42 | sint32 singular_sint32 = 5; |
| 43 | sint64 singular_sint64 = 6; |
| 44 | fixed32 singular_fixed32 = 7; |
| 45 | fixed64 singular_fixed64 = 8; |
| 46 | sfixed32 singular_sfixed32 = 9; |
| 47 | sfixed64 singular_sfixed64 = 10; |
| 48 | float singular_float = 11; |
| 49 | double singular_double = 12; |
| 50 | bool singular_bool = 13; |
| 51 | string singular_string = 14; |
| 52 | bytes singular_bytes = 15; |
Feng Xiao | e841bac | 2015-12-11 17:09:20 -0800 | [diff] [blame] | 53 | |
Anton Kast | 4d6712e | 2020-06-05 16:39:02 -0700 | [diff] [blame] | 54 | ForeignMessage singular_foreign_message = 19; |
| 55 | Proto3Enum singular_foreign_enum = 22; |
| 56 | |
| 57 | optional int32 optional_int32 = 121; |
| 58 | optional int64 optional_int64 = 122; |
| 59 | optional uint32 optional_uint32 = 123; |
| 60 | optional uint64 optional_uint64 = 124; |
| 61 | optional sint32 optional_sint32 = 125; |
| 62 | optional sint64 optional_sint64 = 126; |
| 63 | optional fixed32 optional_fixed32 = 127; |
| 64 | optional fixed64 optional_fixed64 = 128; |
| 65 | optional sfixed32 optional_sfixed32 = 129; |
| 66 | optional sfixed64 optional_sfixed64 = 130; |
| 67 | optional float optional_float = 131; |
| 68 | optional double optional_double = 132; |
| 69 | optional bool optional_bool = 133; |
| 70 | optional string optional_string = 134; |
| 71 | optional bytes optional_bytes = 135; |
| 72 | |
| 73 | optional ForeignMessage optional_foreign_message = 136; |
Joshua Haberman | 6ba5241 | 2020-07-09 18:17:47 -0700 | [diff] [blame] | 74 | optional Proto3Enum optional_foreign_enum = 137; |
Feng Xiao | e841bac | 2015-12-11 17:09:20 -0800 | [diff] [blame] | 75 | |
Hao Nguyen | 2f864fd | 2019-03-20 11:45:01 -0700 | [diff] [blame] | 76 | repeated int32 repeated_int32 = 31; |
| 77 | repeated int64 repeated_int64 = 32; |
| 78 | repeated uint32 repeated_uint32 = 33; |
| 79 | repeated uint64 repeated_uint64 = 34; |
| 80 | repeated sint32 repeated_sint32 = 35; |
| 81 | repeated sint64 repeated_sint64 = 36; |
| 82 | repeated fixed32 repeated_fixed32 = 37; |
| 83 | repeated fixed64 repeated_fixed64 = 38; |
Feng Xiao | e841bac | 2015-12-11 17:09:20 -0800 | [diff] [blame] | 84 | repeated sfixed32 repeated_sfixed32 = 39; |
| 85 | repeated sfixed64 repeated_sfixed64 = 40; |
Hao Nguyen | 2f864fd | 2019-03-20 11:45:01 -0700 | [diff] [blame] | 86 | repeated float repeated_float = 41; |
| 87 | repeated double repeated_double = 42; |
| 88 | repeated bool repeated_bool = 43; |
| 89 | repeated string repeated_string = 44; |
| 90 | repeated bytes repeated_bytes = 45; |
Feng Xiao | e841bac | 2015-12-11 17:09:20 -0800 | [diff] [blame] | 91 | |
| 92 | repeated ForeignMessage repeated_foreign_message = 49; |
Hao Nguyen | 2f864fd | 2019-03-20 11:45:01 -0700 | [diff] [blame] | 93 | repeated Proto3Enum repeated_foreign_enum = 52; |
Feng Xiao | e841bac | 2015-12-11 17:09:20 -0800 | [diff] [blame] | 94 | |
Feng Xiao | e841bac | 2015-12-11 17:09:20 -0800 | [diff] [blame] | 95 | oneof oneof_field { |
| 96 | uint32 oneof_uint32 = 111; |
| 97 | ForeignMessage oneof_foreign_message = 112; |
| 98 | string oneof_string = 113; |
| 99 | bytes oneof_bytes = 114; |
| 100 | } |
| 101 | } |
| 102 | |
| 103 | enum Proto3Enum { |
| 104 | PROTO3_FOO = 0; |
| 105 | PROTO3_BAR = 1; |
| 106 | PROTO3_BAZ = 2; |
Jisi Liu | 09354db | 2017-07-18 15:38:30 -0700 | [diff] [blame] | 107 | MSG_PROTO3_BAH = 3; |
Feng Xiao | e841bac | 2015-12-11 17:09:20 -0800 | [diff] [blame] | 108 | } |