// Copyright 2019 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.

// Code generated by generate-protos. DO NOT EDIT.

package fieldnum

// Field numbers for google.protobuf.DoubleValue.
const (
	DoubleValue_Value = 1 // optional double
)

// Field numbers for google.protobuf.FloatValue.
const (
	FloatValue_Value = 1 // optional float
)

// Field numbers for google.protobuf.Int64Value.
const (
	Int64Value_Value = 1 // optional int64
)

// Field numbers for google.protobuf.UInt64Value.
const (
	UInt64Value_Value = 1 // optional uint64
)

// Field numbers for google.protobuf.Int32Value.
const (
	Int32Value_Value = 1 // optional int32
)

// Field numbers for google.protobuf.UInt32Value.
const (
	UInt32Value_Value = 1 // optional uint32
)

// Field numbers for google.protobuf.BoolValue.
const (
	BoolValue_Value = 1 // optional bool
)

// Field numbers for google.protobuf.StringValue.
const (
	StringValue_Value = 1 // optional string
)

// Field numbers for google.protobuf.BytesValue.
const (
	BytesValue_Value = 1 // optional bytes
)
