| // Test structures with cyclic references. | |
| // These can only be handled in pointer/callback mode, | |
| // see associated .options files. | |
| syntax = "proto2"; | |
| message TreeNode | |
| { | |
| optional int32 leaf = 1; | |
| optional TreeNode left = 2; | |
| optional TreeNode right = 3; | |
| } | |
| message Dictionary | |
| { | |
| repeated KeyValuePair dictItem = 1; | |
| } | |
| message KeyValuePair | |
| { | |
| required string key = 1; | |
| optional string stringValue = 2; | |
| optional int32 intValue = 3; | |
| optional Dictionary dictValue = 4; | |
| optional TreeNode treeValue = 5; | |
| } | |