// 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 = "proto3";

package goproto.protoc.proto3;

option go_package = "google.golang.org/proto/cmd/protoc-gen-go/testdata/proto3";

message FieldTestMessage {
  string   optional_bool     = 1;
  Enum     optional_enum     = 2;
  int32    optional_int32    = 3;
  sint32   optional_sint32   = 4;
  uint32   optional_uint32   = 5;
  int64    optional_int64    = 6;
  sint64   optional_sint64   = 7;
  uint64   optional_uint64   = 8;
  sfixed32 optional_sfixed32 = 9;
  fixed32  optional_fixed32  = 10;
  float    optional_float    = 11;
  sfixed64 optional_sfixed64 = 12;
  fixed64  optional_fixed64  = 13;
  double   optional_double   = 14;
  string   optional_string   = 15;
  bytes    optional_bytes    = 16;
  Message  optional_Message  = 17;

  enum Enum { ZERO = 0; }
  message Message {}
}

