kythe.io@v0.0.68-0.20240422202219-7225dbc01741/kythe/cxx/indexer/proto/testdata/basic/oneof.proto (about) 1 // Test proto for oneofs. 2 3 syntax = "proto2"; 4 5 package proto_kythe_test; 6 7 //- @Container defines/binding ContainerMessage 8 message Container { 9 //- @normal_field defines/binding NormalField 10 //- NormalField childof ContainerMessage 11 //- !{ NormalField childof NamedVariantType } 12 optional bool normal_field = 1; 13 14 //- @variant_name defines/binding NamedVariantType 15 //- NamedVariantType.node/kind sum 16 //- NamedVariantType code NVRoot 17 //- NVRoot child.0 NVContext 18 //- NVRoot child.1 NVIdent 19 //- NVIdent.pre_text "variant_name" 20 //- NVIdent link NamedVariantType 21 //- NVContext child.0 NVContext0 22 //- NVContext child.1 NVContext1 23 //- NVContext0.pre_text "proto_kythe_test" 24 //- NVContext1.pre_text "Container" 25 oneof variant_name { 26 //- @text defines/binding TextVariant 27 //- TextVariant childof ContainerMessage 28 //- TextVariant childof NamedVariantType 29 //- TextVariant code TVRoot 30 //- TVRoot child.0 TVType 31 //- TVType.kind "TYPE" 32 //- TVType.pre_text "string" 33 //- TVRoot child.1 TVName 34 //- TVName child.0 TVContext 35 //- TVName child.1 TVIdent 36 //- TVIdent.pre_text "text" 37 //- TVContext child.0 TVContext0 38 //- TVContext child.1 TVContext1 39 //- TVContext child.2 TVContext2 40 //- TVContext0.pre_text "proto_kythe_test" 41 //- TVContext1.pre_text "Container" 42 //- TVContext2.pre_text "variant_name" 43 string text = 2; 44 45 //- @number defines/binding NumberVariant 46 //- NumberVariant childof ContainerMessage 47 //- NumberVariant childof NamedVariantType 48 int64 number = 3; 49 } 50 }