| // Copyright 2018 The Go Authors. All rights reserved. | 
 | // Use of this source code is governed by a BSD-style | 
 | // license that can be found in the LICENSE file. | 
 |  | 
 | syntax = "proto2"; | 
 |  | 
 | // COMMENT: package goproto.protoc.comments; | 
 | package goproto.protoc.comments; | 
 |  | 
 | option go_package = "google.golang.org/protobuf/cmd/protoc-gen-go/testdata/comments"; | 
 |  | 
 | // COMMENT: Enum1.Leading | 
 | enum Enum1 { | 
 |   // COMMENT: FOO.Leading | 
 |   FOO = 0; // COMMENT: FOO.InlineTrailing | 
 |   // COMMENT: BAR.Leading | 
 |   BAR = 1; | 
 |   // COMMENT: BAR.Trailing1 | 
 |   // COMMENT: BAR.Trailing2 | 
 |  | 
 |   // COMMENT: Enum1.EndBody | 
 | } | 
 |  | 
 | // COMMENT: Message1.Leading | 
 | message Message1 { | 
 |   // COMMENT: Message1A.Leading | 
 |   message Message1A { | 
 |   } // COMMENT: Message1A.Trailing | 
 |  | 
 |   // COMMENT: Message1B | 
 |   message Message1B { | 
 |   } | 
 |  | 
 |   // COMMENT: Field1A.Leading | 
 |   optional string Field1A = 1; // COMMENT: Field1A.Trailing | 
 |  | 
 |   // COMMENT: Oneof1A.Leading | 
 |   oneof Oneof1a { | 
 |     // COMMENT: Oneof1AField1.Leading | 
 |     string Oneof1AField1 = 2; // COMMENT: Oneof1AField1.Trailing | 
 |   } // COMMENT: Oneof1A.Trailing | 
 |  | 
 |   extensions 100 to max; | 
 | } // COMMENT: Message1.Trailing | 
 |  | 
 | // COMMENT: Extend | 
 | extend Message1 { | 
 |   // COMMENT: Extension.Leading | 
 |   optional Message1 extension = 100; // COMMENT: Extension.Trailing | 
 | } | 
 |  | 
 | // COMMENT: Message2 | 
 | message Message2 { | 
 |   // COMMENT: Message2A | 
 |   message Message2A { | 
 |   } | 
 |  | 
 |   // COMMENT: Message2B | 
 |   message Message2B { | 
 |   } | 
 | } |