code: function FieldDescriptorProto(properties) {
                  if (properties)
                      for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                          if (properties[keys[i]] != null)
                              this[keys[i]] = properties[keys[i]];
              }
docs: Properties of a FieldDescriptorProto.
  @memberof google.protobuf
  @interface IFieldDescriptorProto
  @property {string|null} [name] FieldDescriptorProto name
  @property {number|null} [number] FieldDescriptorProto number
  @property {google.protobuf.FieldDescriptorProto.Label|null} [label] FieldDescriptorProto label
  @property {google.protobuf.FieldDescriptorProto.Type|null} [type] FieldDescriptorProto type
  @property {string|null} [typeName] FieldDescriptorProto typeName
  @property {string|null} [extendee] FieldDescriptorProto extendee
  @property {string|null} [defaultValue] FieldDescriptorProto defaultValue
  @property {number|null} [oneofIndex] FieldDescriptorProto oneofIndex
  @property {string|null} [jsonName] FieldDescriptorProto jsonName
  @property {google.protobuf.IFieldOptions|null} [options] FieldDescriptorProto options
   
  Constructs a new FieldDescriptorProto.
  @memberof google.protobuf
  @classdesc Represents a FieldDescriptorProto.
  @implements IFieldDescriptorProto
  @constructor
  @param {google.protobuf.IFieldDescriptorProto=} [properties] Properties to set