|  | // Protocol Buffers - Google's data interchange format | 
|  | // Copyright 2015 Google Inc.  All rights reserved. | 
|  | // | 
|  | // Use of this source code is governed by a BSD-style | 
|  | // license that can be found in the LICENSE file or at | 
|  | // https://developers.google.com/open-source/licenses/bsd | 
|  |  | 
|  | syntax = "proto2"; | 
|  |  | 
|  | package objc.protobuf.tests.cycle; | 
|  |  | 
|  | option objc_class_prefix = "Cycle"; | 
|  |  | 
|  | // Cycles in the Message graph can cause problems for message class | 
|  | // initialization order. | 
|  |  | 
|  | // You can't make a object graph that spans files, so this can only be done | 
|  | // within a single proto file. | 
|  |  | 
|  | message Foo { | 
|  | optional Foo a_foo = 1; | 
|  | optional Bar a_bar = 2; | 
|  | optional Baz a_baz = 3; | 
|  | } | 
|  |  | 
|  | message Bar { | 
|  | optional Bar a_bar = 1; | 
|  | optional Baz a_baz = 2; | 
|  | optional Foo a_foo = 3; | 
|  | } | 
|  |  | 
|  | message Baz { | 
|  | optional Baz a_baz = 1; | 
|  | optional Foo a_foo = 2; | 
|  | optional Bar a_bar = 3; | 
|  | } |