1my.test input.proto /^package my.test; \/\/ dotted package name$/;" p roles:def 2multi/multi1.proto input.proto /^import "multi\/multi1.proto"; \/\/ unused import$/;" D package:my.test roles:imported 3HatType input.proto /^enum HatType {$/;" g package:my.test roles:def end:44 4FEDORA input.proto /^ FEDORA = 1;$/;" e enum:my.test.HatType roles:def 5FEZ input.proto /^ FEZ = 2;$/;" e enum:my.test.HatType roles:def 6Days input.proto /^enum Days {$/;" g package:my.test roles:def end:53 7MONDAY input.proto /^ MONDAY = 1;$/;" e enum:my.test.Days roles:def 8TUESDAY input.proto /^ TUESDAY = 2;$/;" e enum:my.test.Days roles:def 9LUNDI input.proto /^ LUNDI = 1; \/\/ same value as MONDAY$/;" e enum:my.test.Days roles:def 10Request input.proto /^message Request {$/;" m package:my.test roles:def end:86 11Color input.proto /^ enum Color {$/;" g message:my.test.Request roles:def end:61 12RED input.proto /^ RED = 0;$/;" e enum:my.test.Request.Color roles:def 13GREEN input.proto /^ GREEN = 1;$/;" e enum:my.test.Request.Color roles:def 14BLUE input.proto /^ BLUE = 2;$/;" e enum:my.test.Request.Color roles:def 15key input.proto /^ repeated int64 key = 1;$/;" f message:my.test.Request typeref:typename:int64 roles:def 16hue input.proto /^ optional Color hue = 3; \/\/ no default$/;" f message:my.test.Request typeref:typename:Color roles:def 17hat input.proto /^ optional HatType hat = 4 [default=FEDORA];$/;" f message:my.test.Request typeref:typename:HatType roles:def 18deadline input.proto /^ optional float deadline = 7 [default=inf];$/;" f message:my.test.Request typeref:typename:float roles:def 19SomeGroup input.proto /^ optional group SomeGroup = 8 {$/;" f message:my.test.Request typeref:typename:group roles:def end:70 20group_field input.proto /^ optional int32 group_field = 9;$/;" f field:my.test.Request.SomeGroup typeref:typename:int32 roles:def 21name_mapping input.proto /^ map<int32, string> name_mapping = 14;$/;" f message:my.test.Request typeref:typename:map<int32,string> roles:def 22msg_mapping input.proto /^ map<sint64, Reply> msg_mapping = 15;$/;" f message:my.test.Request typeref:typename:map<sint64,Reply> roles:def 23reset input.proto /^ optional int32 reset = 12;$/;" f message:my.test.Request typeref:typename:int32 roles:def 24get_key input.proto /^ optional string get_key = 16;$/;" f message:my.test.Request typeref:typename:string roles:def 25Reply input.proto /^message Reply {$/;" m package:my.test roles:def end:101 26Entry input.proto /^ message Entry {$/;" m message:my.test.Reply roles:def end:97 27key_that_needs_1234camel_CasIng input.proto /^ required int64 key_that_needs_1234camel_CasIng = 1;$/;" f message:my.test.Reply.Entry typeref:typename:int64 roles:def 28value input.proto /^ optional int64 value = 2 [default=7];$/;" f message:my.test.Reply.Entry typeref:typename:int64 roles:def 29_my_field_name_2 input.proto /^ optional int64 _my_field_name_2 = 3;$/;" f message:my.test.Reply.Entry typeref:typename:int64 roles:def 30Game input.proto /^ enum Game {$/;" g message:my.test.Reply.Entry roles:def end:96 31FOOTBALL input.proto /^ FOOTBALL = 1;$/;" e enum:my.test.Reply.Entry.Game roles:def 32TENNIS input.proto /^ TENNIS = 2;$/;" e enum:my.test.Reply.Entry.Game roles:def 33found input.proto /^ repeated Entry found = 1;$/;" f message:my.test.Reply typeref:typename:Entry roles:def 34compact_keys input.proto /^ repeated int32 compact_keys = 2 [packed=true];$/;" f message:my.test.Reply typeref:typename:int32 roles:def 35OtherBase input.proto /^message OtherBase {$/;" m package:my.test roles:def end:106 36name input.proto /^ optional string name = 1;$/;" f message:my.test.OtherBase typeref:typename:string roles:def 37ReplyExtensions input.proto /^message ReplyExtensions {$/;" m package:my.test roles:def end:116 38Reply input.proto /^ extend Reply {$/;" m message:my.test.ReplyExtensions roles:extension end:112 39time input.proto /^ optional double time = 101;$/;" f message:my.test.ReplyExtensions.Reply typeref:typename:double roles:def 40carrot input.proto /^ optional ReplyExtensions carrot = 105;$/;" f message:my.test.ReplyExtensions.Reply typeref:typename:ReplyExtensions roles:def 41OtherBase input.proto /^ extend OtherBase {$/;" m message:my.test.ReplyExtensions roles:extension end:115 42donut input.proto /^ optional ReplyExtensions donut = 101;$/;" f message:my.test.ReplyExtensions.OtherBase typeref:typename:ReplyExtensions roles:def 43OtherReplyExtensions input.proto /^message OtherReplyExtensions {$/;" m package:my.test roles:def end:120 44key input.proto /^ optional int32 key = 1;$/;" f message:my.test.OtherReplyExtensions typeref:typename:int32 roles:def 45Reply input.proto /^extend Reply {$/;" m package:my.test roles:extension end:127 46tag input.proto /^ optional string tag = 103;$/;" f message:my.test.Reply typeref:typename:string roles:def 47donut input.proto /^ optional OtherReplyExtensions donut = 106;$/;" f message:my.test.Reply typeref:typename:OtherReplyExtensions roles:def 48OldReply input.proto /^message OldReply {$/;" m package:my.test roles:def end:133 49Communique input.proto /^message Communique {$/;" m package:my.test roles:def end:155 50make_me_cry input.proto /^ optional bool make_me_cry = 1;$/;" f message:my.test.Communique typeref:typename:bool roles:def 51union input.proto /^ oneof union {$/;" o message:my.test.Communique roles:def end:152 52number input.proto /^ int32 number = 5;$/;" f oneof:my.test.Communique.union typeref:typename:int32 roles:def 53name input.proto /^ string name = 6;$/;" f oneof:my.test.Communique.union typeref:typename:string roles:def 54data input.proto /^ bytes data = 7;$/;" f oneof:my.test.Communique.union typeref:typename:bytes roles:def 55temp_c input.proto /^ double temp_c = 8;$/;" f oneof:my.test.Communique.union typeref:typename:double roles:def 56height input.proto /^ float height = 9;$/;" f oneof:my.test.Communique.union typeref:typename:float roles:def 57today input.proto /^ Days today = 10;$/;" f oneof:my.test.Communique.union typeref:typename:Days roles:def 58maybe input.proto /^ bool maybe = 11;$/;" f oneof:my.test.Communique.union typeref:typename:bool roles:def 59delta input.proto /^ sint32 delta = 12; \/\/ name will conflict with Delta below$/;" f oneof:my.test.Communique.union typeref:typename:sint32 roles:def 60msg input.proto /^ Reply msg = 13;$/;" f oneof:my.test.Communique.union typeref:typename:Reply roles:def 61SomeGroup input.proto /^ group SomeGroup = 14 {$/;" G oneof:my.test.Communique.union roles:def end:151 62member input.proto /^ optional string member = 15;$/;" f group:my.test.Communique.union.SomeGroup typeref:typename:string roles:def 63Delta input.proto /^ message Delta {}$/;" m message:my.test.Communique roles:def end:154 64