"use strict";
// source: reflection.proto
/**
 * @fileoverview
 * @enhanceable
 * @suppress {messageConventions} JS Compiler reports an error if a variable or
 *     field starts with 'MSG_' and isn't a translatable message.
 * @public
 */
// GENERATED CODE -- DO NOT EDIT!
var jspb = require('google-protobuf');
var goog = jspb;
var global = Function('return this')();
goog.exportSymbol('proto.grpc.reflection.v1alpha.ErrorResponse', null, global);
goog.exportSymbol('proto.grpc.reflection.v1alpha.ExtensionNumberResponse', null, global);
goog.exportSymbol('proto.grpc.reflection.v1alpha.ExtensionRequest', null, global);
goog.exportSymbol('proto.grpc.reflection.v1alpha.FileDescriptorResponse', null, global);
goog.exportSymbol('proto.grpc.reflection.v1alpha.ListServiceResponse', null, global);
goog.exportSymbol('proto.grpc.reflection.v1alpha.ServerReflectionRequest', null, global);
goog.exportSymbol('proto.grpc.reflection.v1alpha.ServerReflectionRequest.MessageRequestCase', null, global);
goog.exportSymbol('proto.grpc.reflection.v1alpha.ServerReflectionResponse', null, global);
goog.exportSymbol('proto.grpc.reflection.v1alpha.ServerReflectionResponse.MessageResponseCase', null, global);
goog.exportSymbol('proto.grpc.reflection.v1alpha.ServiceResponse', null, global);
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.grpc.reflection.v1alpha.ServerReflectionRequest = function (opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, null, proto.grpc.reflection.v1alpha.ServerReflectionRequest.oneofGroups_);
};
goog.inherits(proto.grpc.reflection.v1alpha.ServerReflectionRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.grpc.reflection.v1alpha.ServerReflectionRequest.displayName = 'proto.grpc.reflection.v1alpha.ServerReflectionRequest';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.grpc.reflection.v1alpha.ExtensionRequest = function (opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.grpc.reflection.v1alpha.ExtensionRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.grpc.reflection.v1alpha.ExtensionRequest.displayName = 'proto.grpc.reflection.v1alpha.ExtensionRequest';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.grpc.reflection.v1alpha.ServerReflectionResponse = function (opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, null, proto.grpc.reflection.v1alpha.ServerReflectionResponse.oneofGroups_);
};
goog.inherits(proto.grpc.reflection.v1alpha.ServerReflectionResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.grpc.reflection.v1alpha.ServerReflectionResponse.displayName = 'proto.grpc.reflection.v1alpha.ServerReflectionResponse';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.grpc.reflection.v1alpha.FileDescriptorResponse = function (opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, proto.grpc.reflection.v1alpha.FileDescriptorResponse.repeatedFields_, null);
};
goog.inherits(proto.grpc.reflection.v1alpha.FileDescriptorResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.grpc.reflection.v1alpha.FileDescriptorResponse.displayName = 'proto.grpc.reflection.v1alpha.FileDescriptorResponse';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.grpc.reflection.v1alpha.ExtensionNumberResponse = function (opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, proto.grpc.reflection.v1alpha.ExtensionNumberResponse.repeatedFields_, null);
};
goog.inherits(proto.grpc.reflection.v1alpha.ExtensionNumberResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.grpc.reflection.v1alpha.ExtensionNumberResponse.displayName = 'proto.grpc.reflection.v1alpha.ExtensionNumberResponse';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.grpc.reflection.v1alpha.ListServiceResponse = function (opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, proto.grpc.reflection.v1alpha.ListServiceResponse.repeatedFields_, null);
};
goog.inherits(proto.grpc.reflection.v1alpha.ListServiceResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.grpc.reflection.v1alpha.ListServiceResponse.displayName = 'proto.grpc.reflection.v1alpha.ListServiceResponse';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.grpc.reflection.v1alpha.ServiceResponse = function (opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.grpc.reflection.v1alpha.ServiceResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.grpc.reflection.v1alpha.ServiceResponse.displayName = 'proto.grpc.reflection.v1alpha.ServiceResponse';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.grpc.reflection.v1alpha.ErrorResponse = function (opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.grpc.reflection.v1alpha.ErrorResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.grpc.reflection.v1alpha.ErrorResponse.displayName = 'proto.grpc.reflection.v1alpha.ErrorResponse';
}
/**
 * Oneof group definitions for this message. Each group defines the field
 * numbers belonging to that group. When of these fields' value is set, all
 * other fields in the group are cleared. During deserialization, if multiple
 * fields are encountered for a group, only the last value seen will be kept.
 * @private {!Array<!Array<number>>}
 * @const
 */
proto.grpc.reflection.v1alpha.ServerReflectionRequest.oneofGroups_ = [[3, 4, 5, 6, 7]];
/**
 * @enum {number}
 */
proto.grpc.reflection.v1alpha.ServerReflectionRequest.MessageRequestCase = {
    MESSAGE_REQUEST_NOT_SET: 0,
    FILE_BY_FILENAME: 3,
    FILE_CONTAINING_SYMBOL: 4,
    FILE_CONTAINING_EXTENSION: 5,
    ALL_EXTENSION_NUMBERS_OF_TYPE: 6,
    LIST_SERVICES: 7
};
/**
 * @return {proto.grpc.reflection.v1alpha.ServerReflectionRequest.MessageRequestCase}
 */
proto.grpc.reflection.v1alpha.ServerReflectionRequest.prototype.getMessageRequestCase = function () {
    return /** @type {proto.grpc.reflection.v1alpha.ServerReflectionRequest.MessageRequestCase} */ (jspb.Message.computeOneofCase(this, proto.grpc.reflection.v1alpha.ServerReflectionRequest.oneofGroups_[0]));
};
if (jspb.Message.GENERATE_TO_OBJECT) {
    /**
     * Creates an object representation of this proto.
     * Field names that are reserved in JavaScript and will be renamed to pb_name.
     * Optional fields that are not set will be set to undefined.
     * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
     * For the list of reserved names please see:
     *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
     * @param {boolean=} opt_includeInstance Deprecated. whether to include the
     *     JSPB instance for transitional soy proto support:
     *     http://goto/soy-param-migration
     * @return {!Object}
     */
    proto.grpc.reflection.v1alpha.ServerReflectionRequest.prototype.toObject = function (opt_includeInstance) {
        return proto.grpc.reflection.v1alpha.ServerReflectionRequest.toObject(opt_includeInstance, this);
    };
    /**
     * Static version of the {@see toObject} method.
     * @param {boolean|undefined} includeInstance Deprecated. Whether to include
     *     the JSPB instance for transitional soy proto support:
     *     http://goto/soy-param-migration
     * @param {!proto.grpc.reflection.v1alpha.ServerReflectionRequest} msg The msg instance to transform.
     * @return {!Object}
     * @suppress {unusedLocalVariables} f is only used for nested messages
     */
    proto.grpc.reflection.v1alpha.ServerReflectionRequest.toObject = function (includeInstance, msg) {
        var f, obj = {
            host: jspb.Message.getFieldWithDefault(msg, 1, ""),
            fileByFilename: jspb.Message.getFieldWithDefault(msg, 3, ""),
            fileContainingSymbol: jspb.Message.getFieldWithDefault(msg, 4, ""),
            fileContainingExtension: (f = msg.getFileContainingExtension()) && proto.grpc.reflection.v1alpha.ExtensionRequest.toObject(includeInstance, f),
            allExtensionNumbersOfType: jspb.Message.getFieldWithDefault(msg, 6, ""),
            listServices: jspb.Message.getFieldWithDefault(msg, 7, "")
        };
        if (includeInstance) {
            obj.$jspbMessageInstance = msg;
        }
        return obj;
    };
}
/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.grpc.reflection.v1alpha.ServerReflectionRequest}
 */
proto.grpc.reflection.v1alpha.ServerReflectionRequest.deserializeBinary = function (bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.grpc.reflection.v1alpha.ServerReflectionRequest;
    return proto.grpc.reflection.v1alpha.ServerReflectionRequest.deserializeBinaryFromReader(msg, reader);
};
/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.grpc.reflection.v1alpha.ServerReflectionRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.grpc.reflection.v1alpha.ServerReflectionRequest}
 */
proto.grpc.reflection.v1alpha.ServerReflectionRequest.deserializeBinaryFromReader = function (msg, reader) {
    while (reader.nextField()) {
        if (reader.isEndGroup()) {
            break;
        }
        var field = reader.getFieldNumber();
        switch (field) {
            case 1:
                var value = /** @type {string} */ (reader.readString());
                msg.setHost(value);
                break;
            case 3:
                var value = /** @type {string} */ (reader.readString());
                msg.setFileByFilename(value);
                break;
            case 4:
                var value = /** @type {string} */ (reader.readString());
                msg.setFileContainingSymbol(value);
                break;
            case 5:
                var value = new proto.grpc.reflection.v1alpha.ExtensionRequest;
                reader.readMessage(value, proto.grpc.reflection.v1alpha.ExtensionRequest.deserializeBinaryFromReader);
                msg.setFileContainingExtension(value);
                break;
            case 6:
                var value = /** @type {string} */ (reader.readString());
                msg.setAllExtensionNumbersOfType(value);
                break;
            case 7:
                var value = /** @type {string} */ (reader.readString());
                msg.setListServices(value);
                break;
            default:
                reader.skipField();
                break;
        }
    }
    return msg;
};
/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.grpc.reflection.v1alpha.ServerReflectionRequest.prototype.serializeBinary = function () {
    var writer = new jspb.BinaryWriter();
    proto.grpc.reflection.v1alpha.ServerReflectionRequest.serializeBinaryToWriter(this, writer);
    return writer.getResultBuffer();
};
/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.grpc.reflection.v1alpha.ServerReflectionRequest} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.grpc.reflection.v1alpha.ServerReflectionRequest.serializeBinaryToWriter = function (message, writer) {
    var f = undefined;
    f = message.getHost();
    if (f.length > 0) {
        writer.writeString(1, f);
    }
    f = /** @type {string} */ (jspb.Message.getField(message, 3));
    if (f != null) {
        writer.writeString(3, f);
    }
    f = /** @type {string} */ (jspb.Message.getField(message, 4));
    if (f != null) {
        writer.writeString(4, f);
    }
    f = message.getFileContainingExtension();
    if (f != null) {
        writer.writeMessage(5, f, proto.grpc.reflection.v1alpha.ExtensionRequest.serializeBinaryToWriter);
    }
    f = /** @type {string} */ (jspb.Message.getField(message, 6));
    if (f != null) {
        writer.writeString(6, f);
    }
    f = /** @type {string} */ (jspb.Message.getField(message, 7));
    if (f != null) {
        writer.writeString(7, f);
    }
};
/**
 * optional string host = 1;
 * @return {string}
 */
proto.grpc.reflection.v1alpha.ServerReflectionRequest.prototype.getHost = function () {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};
/**
 * @param {string} value
 * @return {!proto.grpc.reflection.v1alpha.ServerReflectionRequest} returns this
 */
proto.grpc.reflection.v1alpha.ServerReflectionRequest.prototype.setHost = function (value) {
    return jspb.Message.setProto3StringField(this, 1, value);
};
/**
 * optional string file_by_filename = 3;
 * @return {string}
 */
proto.grpc.reflection.v1alpha.ServerReflectionRequest.prototype.getFileByFilename = function () {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};
/**
 * @param {string} value
 * @return {!proto.grpc.reflection.v1alpha.ServerReflectionRequest} returns this
 */
proto.grpc.reflection.v1alpha.ServerReflectionRequest.prototype.setFileByFilename = function (value) {
    return jspb.Message.setOneofField(this, 3, proto.grpc.reflection.v1alpha.ServerReflectionRequest.oneofGroups_[0], value);
};
/**
 * Clears the field making it undefined.
 * @return {!proto.grpc.reflection.v1alpha.ServerReflectionRequest} returns this
 */
proto.grpc.reflection.v1alpha.ServerReflectionRequest.prototype.clearFileByFilename = function () {
    return jspb.Message.setOneofField(this, 3, proto.grpc.reflection.v1alpha.ServerReflectionRequest.oneofGroups_[0], undefined);
};
/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.grpc.reflection.v1alpha.ServerReflectionRequest.prototype.hasFileByFilename = function () {
    return jspb.Message.getField(this, 3) != null;
};
/**
 * optional string file_containing_symbol = 4;
 * @return {string}
 */
proto.grpc.reflection.v1alpha.ServerReflectionRequest.prototype.getFileContainingSymbol = function () {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, ""));
};
/**
 * @param {string} value
 * @return {!proto.grpc.reflection.v1alpha.ServerReflectionRequest} returns this
 */
proto.grpc.reflection.v1alpha.ServerReflectionRequest.prototype.setFileContainingSymbol = function (value) {
    return jspb.Message.setOneofField(this, 4, proto.grpc.reflection.v1alpha.ServerReflectionRequest.oneofGroups_[0], value);
};
/**
 * Clears the field making it undefined.
 * @return {!proto.grpc.reflection.v1alpha.ServerReflectionRequest} returns this
 */
proto.grpc.reflection.v1alpha.ServerReflectionRequest.prototype.clearFileContainingSymbol = function () {
    return jspb.Message.setOneofField(this, 4, proto.grpc.reflection.v1alpha.ServerReflectionRequest.oneofGroups_[0], undefined);
};
/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.grpc.reflection.v1alpha.ServerReflectionRequest.prototype.hasFileContainingSymbol = function () {
    return jspb.Message.getField(this, 4) != null;
};
/**
 * optional ExtensionRequest file_containing_extension = 5;
 * @return {?proto.grpc.reflection.v1alpha.ExtensionRequest}
 */
proto.grpc.reflection.v1alpha.ServerReflectionRequest.prototype.getFileContainingExtension = function () {
    return /** @type{?proto.grpc.reflection.v1alpha.ExtensionRequest} */ (jspb.Message.getWrapperField(this, proto.grpc.reflection.v1alpha.ExtensionRequest, 5));
};
/**
 * @param {?proto.grpc.reflection.v1alpha.ExtensionRequest|undefined} value
 * @return {!proto.grpc.reflection.v1alpha.ServerReflectionRequest} returns this
*/
proto.grpc.reflection.v1alpha.ServerReflectionRequest.prototype.setFileContainingExtension = function (value) {
    return jspb.Message.setOneofWrapperField(this, 5, proto.grpc.reflection.v1alpha.ServerReflectionRequest.oneofGroups_[0], value);
};
/**
 * Clears the message field making it undefined.
 * @return {!proto.grpc.reflection.v1alpha.ServerReflectionRequest} returns this
 */
proto.grpc.reflection.v1alpha.ServerReflectionRequest.prototype.clearFileContainingExtension = function () {
    return this.setFileContainingExtension(undefined);
};
/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.grpc.reflection.v1alpha.ServerReflectionRequest.prototype.hasFileContainingExtension = function () {
    return jspb.Message.getField(this, 5) != null;
};
/**
 * optional string all_extension_numbers_of_type = 6;
 * @return {string}
 */
proto.grpc.reflection.v1alpha.ServerReflectionRequest.prototype.getAllExtensionNumbersOfType = function () {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, ""));
};
/**
 * @param {string} value
 * @return {!proto.grpc.reflection.v1alpha.ServerReflectionRequest} returns this
 */
proto.grpc.reflection.v1alpha.ServerReflectionRequest.prototype.setAllExtensionNumbersOfType = function (value) {
    return jspb.Message.setOneofField(this, 6, proto.grpc.reflection.v1alpha.ServerReflectionRequest.oneofGroups_[0], value);
};
/**
 * Clears the field making it undefined.
 * @return {!proto.grpc.reflection.v1alpha.ServerReflectionRequest} returns this
 */
proto.grpc.reflection.v1alpha.ServerReflectionRequest.prototype.clearAllExtensionNumbersOfType = function () {
    return jspb.Message.setOneofField(this, 6, proto.grpc.reflection.v1alpha.ServerReflectionRequest.oneofGroups_[0], undefined);
};
/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.grpc.reflection.v1alpha.ServerReflectionRequest.prototype.hasAllExtensionNumbersOfType = function () {
    return jspb.Message.getField(this, 6) != null;
};
/**
 * optional string list_services = 7;
 * @return {string}
 */
proto.grpc.reflection.v1alpha.ServerReflectionRequest.prototype.getListServices = function () {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, ""));
};
/**
 * @param {string} value
 * @return {!proto.grpc.reflection.v1alpha.ServerReflectionRequest} returns this
 */
proto.grpc.reflection.v1alpha.ServerReflectionRequest.prototype.setListServices = function (value) {
    return jspb.Message.setOneofField(this, 7, proto.grpc.reflection.v1alpha.ServerReflectionRequest.oneofGroups_[0], value);
};
/**
 * Clears the field making it undefined.
 * @return {!proto.grpc.reflection.v1alpha.ServerReflectionRequest} returns this
 */
proto.grpc.reflection.v1alpha.ServerReflectionRequest.prototype.clearListServices = function () {
    return jspb.Message.setOneofField(this, 7, proto.grpc.reflection.v1alpha.ServerReflectionRequest.oneofGroups_[0], undefined);
};
/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.grpc.reflection.v1alpha.ServerReflectionRequest.prototype.hasListServices = function () {
    return jspb.Message.getField(this, 7) != null;
};
if (jspb.Message.GENERATE_TO_OBJECT) {
    /**
     * Creates an object representation of this proto.
     * Field names that are reserved in JavaScript and will be renamed to pb_name.
     * Optional fields that are not set will be set to undefined.
     * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
     * For the list of reserved names please see:
     *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
     * @param {boolean=} opt_includeInstance Deprecated. whether to include the
     *     JSPB instance for transitional soy proto support:
     *     http://goto/soy-param-migration
     * @return {!Object}
     */
    proto.grpc.reflection.v1alpha.ExtensionRequest.prototype.toObject = function (opt_includeInstance) {
        return proto.grpc.reflection.v1alpha.ExtensionRequest.toObject(opt_includeInstance, this);
    };
    /**
     * Static version of the {@see toObject} method.
     * @param {boolean|undefined} includeInstance Deprecated. Whether to include
     *     the JSPB instance for transitional soy proto support:
     *     http://goto/soy-param-migration
     * @param {!proto.grpc.reflection.v1alpha.ExtensionRequest} msg The msg instance to transform.
     * @return {!Object}
     * @suppress {unusedLocalVariables} f is only used for nested messages
     */
    proto.grpc.reflection.v1alpha.ExtensionRequest.toObject = function (includeInstance, msg) {
        var f, obj = {
            containingType: jspb.Message.getFieldWithDefault(msg, 1, ""),
            extensionNumber: jspb.Message.getFieldWithDefault(msg, 2, 0)
        };
        if (includeInstance) {
            obj.$jspbMessageInstance = msg;
        }
        return obj;
    };
}
/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.grpc.reflection.v1alpha.ExtensionRequest}
 */
proto.grpc.reflection.v1alpha.ExtensionRequest.deserializeBinary = function (bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.grpc.reflection.v1alpha.ExtensionRequest;
    return proto.grpc.reflection.v1alpha.ExtensionRequest.deserializeBinaryFromReader(msg, reader);
};
/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.grpc.reflection.v1alpha.ExtensionRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.grpc.reflection.v1alpha.ExtensionRequest}
 */
proto.grpc.reflection.v1alpha.ExtensionRequest.deserializeBinaryFromReader = function (msg, reader) {
    while (reader.nextField()) {
        if (reader.isEndGroup()) {
            break;
        }
        var field = reader.getFieldNumber();
        switch (field) {
            case 1:
                var value = /** @type {string} */ (reader.readString());
                msg.setContainingType(value);
                break;
            case 2:
                var value = /** @type {number} */ (reader.readInt32());
                msg.setExtensionNumber(value);
                break;
            default:
                reader.skipField();
                break;
        }
    }
    return msg;
};
/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.grpc.reflection.v1alpha.ExtensionRequest.prototype.serializeBinary = function () {
    var writer = new jspb.BinaryWriter();
    proto.grpc.reflection.v1alpha.ExtensionRequest.serializeBinaryToWriter(this, writer);
    return writer.getResultBuffer();
};
/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.grpc.reflection.v1alpha.ExtensionRequest} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.grpc.reflection.v1alpha.ExtensionRequest.serializeBinaryToWriter = function (message, writer) {
    var f = undefined;
    f = message.getContainingType();
    if (f.length > 0) {
        writer.writeString(1, f);
    }
    f = message.getExtensionNumber();
    if (f !== 0) {
        writer.writeInt32(2, f);
    }
};
/**
 * optional string containing_type = 1;
 * @return {string}
 */
proto.grpc.reflection.v1alpha.ExtensionRequest.prototype.getContainingType = function () {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};
/**
 * @param {string} value
 * @return {!proto.grpc.reflection.v1alpha.ExtensionRequest} returns this
 */
proto.grpc.reflection.v1alpha.ExtensionRequest.prototype.setContainingType = function (value) {
    return jspb.Message.setProto3StringField(this, 1, value);
};
/**
 * optional int32 extension_number = 2;
 * @return {number}
 */
proto.grpc.reflection.v1alpha.ExtensionRequest.prototype.getExtensionNumber = function () {
    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
};
/**
 * @param {number} value
 * @return {!proto.grpc.reflection.v1alpha.ExtensionRequest} returns this
 */
proto.grpc.reflection.v1alpha.ExtensionRequest.prototype.setExtensionNumber = function (value) {
    return jspb.Message.setProto3IntField(this, 2, value);
};
/**
 * Oneof group definitions for this message. Each group defines the field
 * numbers belonging to that group. When of these fields' value is set, all
 * other fields in the group are cleared. During deserialization, if multiple
 * fields are encountered for a group, only the last value seen will be kept.
 * @private {!Array<!Array<number>>}
 * @const
 */
proto.grpc.reflection.v1alpha.ServerReflectionResponse.oneofGroups_ = [[4, 5, 6, 7]];
/**
 * @enum {number}
 */
proto.grpc.reflection.v1alpha.ServerReflectionResponse.MessageResponseCase = {
    MESSAGE_RESPONSE_NOT_SET: 0,
    FILE_DESCRIPTOR_RESPONSE: 4,
    ALL_EXTENSION_NUMBERS_RESPONSE: 5,
    LIST_SERVICES_RESPONSE: 6,
    ERROR_RESPONSE: 7
};
/**
 * @return {proto.grpc.reflection.v1alpha.ServerReflectionResponse.MessageResponseCase}
 */
proto.grpc.reflection.v1alpha.ServerReflectionResponse.prototype.getMessageResponseCase = function () {
    return /** @type {proto.grpc.reflection.v1alpha.ServerReflectionResponse.MessageResponseCase} */ (jspb.Message.computeOneofCase(this, proto.grpc.reflection.v1alpha.ServerReflectionResponse.oneofGroups_[0]));
};
if (jspb.Message.GENERATE_TO_OBJECT) {
    /**
     * Creates an object representation of this proto.
     * Field names that are reserved in JavaScript and will be renamed to pb_name.
     * Optional fields that are not set will be set to undefined.
     * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
     * For the list of reserved names please see:
     *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
     * @param {boolean=} opt_includeInstance Deprecated. whether to include the
     *     JSPB instance for transitional soy proto support:
     *     http://goto/soy-param-migration
     * @return {!Object}
     */
    proto.grpc.reflection.v1alpha.ServerReflectionResponse.prototype.toObject = function (opt_includeInstance) {
        return proto.grpc.reflection.v1alpha.ServerReflectionResponse.toObject(opt_includeInstance, this);
    };
    /**
     * Static version of the {@see toObject} method.
     * @param {boolean|undefined} includeInstance Deprecated. Whether to include
     *     the JSPB instance for transitional soy proto support:
     *     http://goto/soy-param-migration
     * @param {!proto.grpc.reflection.v1alpha.ServerReflectionResponse} msg The msg instance to transform.
     * @return {!Object}
     * @suppress {unusedLocalVariables} f is only used for nested messages
     */
    proto.grpc.reflection.v1alpha.ServerReflectionResponse.toObject = function (includeInstance, msg) {
        var f, obj = {
            validHost: jspb.Message.getFieldWithDefault(msg, 1, ""),
            originalRequest: (f = msg.getOriginalRequest()) && proto.grpc.reflection.v1alpha.ServerReflectionRequest.toObject(includeInstance, f),
            fileDescriptorResponse: (f = msg.getFileDescriptorResponse()) && proto.grpc.reflection.v1alpha.FileDescriptorResponse.toObject(includeInstance, f),
            allExtensionNumbersResponse: (f = msg.getAllExtensionNumbersResponse()) && proto.grpc.reflection.v1alpha.ExtensionNumberResponse.toObject(includeInstance, f),
            listServicesResponse: (f = msg.getListServicesResponse()) && proto.grpc.reflection.v1alpha.ListServiceResponse.toObject(includeInstance, f),
            errorResponse: (f = msg.getErrorResponse()) && proto.grpc.reflection.v1alpha.ErrorResponse.toObject(includeInstance, f)
        };
        if (includeInstance) {
            obj.$jspbMessageInstance = msg;
        }
        return obj;
    };
}
/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.grpc.reflection.v1alpha.ServerReflectionResponse}
 */
proto.grpc.reflection.v1alpha.ServerReflectionResponse.deserializeBinary = function (bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.grpc.reflection.v1alpha.ServerReflectionResponse;
    return proto.grpc.reflection.v1alpha.ServerReflectionResponse.deserializeBinaryFromReader(msg, reader);
};
/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.grpc.reflection.v1alpha.ServerReflectionResponse} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.grpc.reflection.v1alpha.ServerReflectionResponse}
 */
proto.grpc.reflection.v1alpha.ServerReflectionResponse.deserializeBinaryFromReader = function (msg, reader) {
    while (reader.nextField()) {
        if (reader.isEndGroup()) {
            break;
        }
        var field = reader.getFieldNumber();
        switch (field) {
            case 1:
                var value = /** @type {string} */ (reader.readString());
                msg.setValidHost(value);
                break;
            case 2:
                var value = new proto.grpc.reflection.v1alpha.ServerReflectionRequest;
                reader.readMessage(value, proto.grpc.reflection.v1alpha.ServerReflectionRequest.deserializeBinaryFromReader);
                msg.setOriginalRequest(value);
                break;
            case 4:
                var value = new proto.grpc.reflection.v1alpha.FileDescriptorResponse;
                reader.readMessage(value, proto.grpc.reflection.v1alpha.FileDescriptorResponse.deserializeBinaryFromReader);
                msg.setFileDescriptorResponse(value);
                break;
            case 5:
                var value = new proto.grpc.reflection.v1alpha.ExtensionNumberResponse;
                reader.readMessage(value, proto.grpc.reflection.v1alpha.ExtensionNumberResponse.deserializeBinaryFromReader);
                msg.setAllExtensionNumbersResponse(value);
                break;
            case 6:
                var value = new proto.grpc.reflection.v1alpha.ListServiceResponse;
                reader.readMessage(value, proto.grpc.reflection.v1alpha.ListServiceResponse.deserializeBinaryFromReader);
                msg.setListServicesResponse(value);
                break;
            case 7:
                var value = new proto.grpc.reflection.v1alpha.ErrorResponse;
                reader.readMessage(value, proto.grpc.reflection.v1alpha.ErrorResponse.deserializeBinaryFromReader);
                msg.setErrorResponse(value);
                break;
            default:
                reader.skipField();
                break;
        }
    }
    return msg;
};
/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.grpc.reflection.v1alpha.ServerReflectionResponse.prototype.serializeBinary = function () {
    var writer = new jspb.BinaryWriter();
    proto.grpc.reflection.v1alpha.ServerReflectionResponse.serializeBinaryToWriter(this, writer);
    return writer.getResultBuffer();
};
/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.grpc.reflection.v1alpha.ServerReflectionResponse} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.grpc.reflection.v1alpha.ServerReflectionResponse.serializeBinaryToWriter = function (message, writer) {
    var f = undefined;
    f = message.getValidHost();
    if (f.length > 0) {
        writer.writeString(1, f);
    }
    f = message.getOriginalRequest();
    if (f != null) {
        writer.writeMessage(2, f, proto.grpc.reflection.v1alpha.ServerReflectionRequest.serializeBinaryToWriter);
    }
    f = message.getFileDescriptorResponse();
    if (f != null) {
        writer.writeMessage(4, f, proto.grpc.reflection.v1alpha.FileDescriptorResponse.serializeBinaryToWriter);
    }
    f = message.getAllExtensionNumbersResponse();
    if (f != null) {
        writer.writeMessage(5, f, proto.grpc.reflection.v1alpha.ExtensionNumberResponse.serializeBinaryToWriter);
    }
    f = message.getListServicesResponse();
    if (f != null) {
        writer.writeMessage(6, f, proto.grpc.reflection.v1alpha.ListServiceResponse.serializeBinaryToWriter);
    }
    f = message.getErrorResponse();
    if (f != null) {
        writer.writeMessage(7, f, proto.grpc.reflection.v1alpha.ErrorResponse.serializeBinaryToWriter);
    }
};
/**
 * optional string valid_host = 1;
 * @return {string}
 */
proto.grpc.reflection.v1alpha.ServerReflectionResponse.prototype.getValidHost = function () {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};
/**
 * @param {string} value
 * @return {!proto.grpc.reflection.v1alpha.ServerReflectionResponse} returns this
 */
proto.grpc.reflection.v1alpha.ServerReflectionResponse.prototype.setValidHost = function (value) {
    return jspb.Message.setProto3StringField(this, 1, value);
};
/**
 * optional ServerReflectionRequest original_request = 2;
 * @return {?proto.grpc.reflection.v1alpha.ServerReflectionRequest}
 */
proto.grpc.reflection.v1alpha.ServerReflectionResponse.prototype.getOriginalRequest = function () {
    return /** @type{?proto.grpc.reflection.v1alpha.ServerReflectionRequest} */ (jspb.Message.getWrapperField(this, proto.grpc.reflection.v1alpha.ServerReflectionRequest, 2));
};
/**
 * @param {?proto.grpc.reflection.v1alpha.ServerReflectionRequest|undefined} value
 * @return {!proto.grpc.reflection.v1alpha.ServerReflectionResponse} returns this
*/
proto.grpc.reflection.v1alpha.ServerReflectionResponse.prototype.setOriginalRequest = function (value) {
    return jspb.Message.setWrapperField(this, 2, value);
};
/**
 * Clears the message field making it undefined.
 * @return {!proto.grpc.reflection.v1alpha.ServerReflectionResponse} returns this
 */
proto.grpc.reflection.v1alpha.ServerReflectionResponse.prototype.clearOriginalRequest = function () {
    return this.setOriginalRequest(undefined);
};
/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.grpc.reflection.v1alpha.ServerReflectionResponse.prototype.hasOriginalRequest = function () {
    return jspb.Message.getField(this, 2) != null;
};
/**
 * optional FileDescriptorResponse file_descriptor_response = 4;
 * @return {?proto.grpc.reflection.v1alpha.FileDescriptorResponse}
 */
proto.grpc.reflection.v1alpha.ServerReflectionResponse.prototype.getFileDescriptorResponse = function () {
    return /** @type{?proto.grpc.reflection.v1alpha.FileDescriptorResponse} */ (jspb.Message.getWrapperField(this, proto.grpc.reflection.v1alpha.FileDescriptorResponse, 4));
};
/**
 * @param {?proto.grpc.reflection.v1alpha.FileDescriptorResponse|undefined} value
 * @return {!proto.grpc.reflection.v1alpha.ServerReflectionResponse} returns this
*/
proto.grpc.reflection.v1alpha.ServerReflectionResponse.prototype.setFileDescriptorResponse = function (value) {
    return jspb.Message.setOneofWrapperField(this, 4, proto.grpc.reflection.v1alpha.ServerReflectionResponse.oneofGroups_[0], value);
};
/**
 * Clears the message field making it undefined.
 * @return {!proto.grpc.reflection.v1alpha.ServerReflectionResponse} returns this
 */
proto.grpc.reflection.v1alpha.ServerReflectionResponse.prototype.clearFileDescriptorResponse = function () {
    return this.setFileDescriptorResponse(undefined);
};
/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.grpc.reflection.v1alpha.ServerReflectionResponse.prototype.hasFileDescriptorResponse = function () {
    return jspb.Message.getField(this, 4) != null;
};
/**
 * optional ExtensionNumberResponse all_extension_numbers_response = 5;
 * @return {?proto.grpc.reflection.v1alpha.ExtensionNumberResponse}
 */
proto.grpc.reflection.v1alpha.ServerReflectionResponse.prototype.getAllExtensionNumbersResponse = function () {
    return /** @type{?proto.grpc.reflection.v1alpha.ExtensionNumberResponse} */ (jspb.Message.getWrapperField(this, proto.grpc.reflection.v1alpha.ExtensionNumberResponse, 5));
};
/**
 * @param {?proto.grpc.reflection.v1alpha.ExtensionNumberResponse|undefined} value
 * @return {!proto.grpc.reflection.v1alpha.ServerReflectionResponse} returns this
*/
proto.grpc.reflection.v1alpha.ServerReflectionResponse.prototype.setAllExtensionNumbersResponse = function (value) {
    return jspb.Message.setOneofWrapperField(this, 5, proto.grpc.reflection.v1alpha.ServerReflectionResponse.oneofGroups_[0], value);
};
/**
 * Clears the message field making it undefined.
 * @return {!proto.grpc.reflection.v1alpha.ServerReflectionResponse} returns this
 */
proto.grpc.reflection.v1alpha.ServerReflectionResponse.prototype.clearAllExtensionNumbersResponse = function () {
    return this.setAllExtensionNumbersResponse(undefined);
};
/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.grpc.reflection.v1alpha.ServerReflectionResponse.prototype.hasAllExtensionNumbersResponse = function () {
    return jspb.Message.getField(this, 5) != null;
};
/**
 * optional ListServiceResponse list_services_response = 6;
 * @return {?proto.grpc.reflection.v1alpha.ListServiceResponse}
 */
proto.grpc.reflection.v1alpha.ServerReflectionResponse.prototype.getListServicesResponse = function () {
    return /** @type{?proto.grpc.reflection.v1alpha.ListServiceResponse} */ (jspb.Message.getWrapperField(this, proto.grpc.reflection.v1alpha.ListServiceResponse, 6));
};
/**
 * @param {?proto.grpc.reflection.v1alpha.ListServiceResponse|undefined} value
 * @return {!proto.grpc.reflection.v1alpha.ServerReflectionResponse} returns this
*/
proto.grpc.reflection.v1alpha.ServerReflectionResponse.prototype.setListServicesResponse = function (value) {
    return jspb.Message.setOneofWrapperField(this, 6, proto.grpc.reflection.v1alpha.ServerReflectionResponse.oneofGroups_[0], value);
};
/**
 * Clears the message field making it undefined.
 * @return {!proto.grpc.reflection.v1alpha.ServerReflectionResponse} returns this
 */
proto.grpc.reflection.v1alpha.ServerReflectionResponse.prototype.clearListServicesResponse = function () {
    return this.setListServicesResponse(undefined);
};
/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.grpc.reflection.v1alpha.ServerReflectionResponse.prototype.hasListServicesResponse = function () {
    return jspb.Message.getField(this, 6) != null;
};
/**
 * optional ErrorResponse error_response = 7;
 * @return {?proto.grpc.reflection.v1alpha.ErrorResponse}
 */
proto.grpc.reflection.v1alpha.ServerReflectionResponse.prototype.getErrorResponse = function () {
    return /** @type{?proto.grpc.reflection.v1alpha.ErrorResponse} */ (jspb.Message.getWrapperField(this, proto.grpc.reflection.v1alpha.ErrorResponse, 7));
};
/**
 * @param {?proto.grpc.reflection.v1alpha.ErrorResponse|undefined} value
 * @return {!proto.grpc.reflection.v1alpha.ServerReflectionResponse} returns this
*/
proto.grpc.reflection.v1alpha.ServerReflectionResponse.prototype.setErrorResponse = function (value) {
    return jspb.Message.setOneofWrapperField(this, 7, proto.grpc.reflection.v1alpha.ServerReflectionResponse.oneofGroups_[0], value);
};
/**
 * Clears the message field making it undefined.
 * @return {!proto.grpc.reflection.v1alpha.ServerReflectionResponse} returns this
 */
proto.grpc.reflection.v1alpha.ServerReflectionResponse.prototype.clearErrorResponse = function () {
    return this.setErrorResponse(undefined);
};
/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.grpc.reflection.v1alpha.ServerReflectionResponse.prototype.hasErrorResponse = function () {
    return jspb.Message.getField(this, 7) != null;
};
/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
proto.grpc.reflection.v1alpha.FileDescriptorResponse.repeatedFields_ = [1];
if (jspb.Message.GENERATE_TO_OBJECT) {
    /**
     * Creates an object representation of this proto.
     * Field names that are reserved in JavaScript and will be renamed to pb_name.
     * Optional fields that are not set will be set to undefined.
     * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
     * For the list of reserved names please see:
     *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
     * @param {boolean=} opt_includeInstance Deprecated. whether to include the
     *     JSPB instance for transitional soy proto support:
     *     http://goto/soy-param-migration
     * @return {!Object}
     */
    proto.grpc.reflection.v1alpha.FileDescriptorResponse.prototype.toObject = function (opt_includeInstance) {
        return proto.grpc.reflection.v1alpha.FileDescriptorResponse.toObject(opt_includeInstance, this);
    };
    /**
     * Static version of the {@see toObject} method.
     * @param {boolean|undefined} includeInstance Deprecated. Whether to include
     *     the JSPB instance for transitional soy proto support:
     *     http://goto/soy-param-migration
     * @param {!proto.grpc.reflection.v1alpha.FileDescriptorResponse} msg The msg instance to transform.
     * @return {!Object}
     * @suppress {unusedLocalVariables} f is only used for nested messages
     */
    proto.grpc.reflection.v1alpha.FileDescriptorResponse.toObject = function (includeInstance, msg) {
        var f, obj = {
            fileDescriptorProtoList: msg.getFileDescriptorProtoList_asB64()
        };
        if (includeInstance) {
            obj.$jspbMessageInstance = msg;
        }
        return obj;
    };
}
/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.grpc.reflection.v1alpha.FileDescriptorResponse}
 */
proto.grpc.reflection.v1alpha.FileDescriptorResponse.deserializeBinary = function (bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.grpc.reflection.v1alpha.FileDescriptorResponse;
    return proto.grpc.reflection.v1alpha.FileDescriptorResponse.deserializeBinaryFromReader(msg, reader);
};
/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.grpc.reflection.v1alpha.FileDescriptorResponse} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.grpc.reflection.v1alpha.FileDescriptorResponse}
 */
proto.grpc.reflection.v1alpha.FileDescriptorResponse.deserializeBinaryFromReader = function (msg, reader) {
    while (reader.nextField()) {
        if (reader.isEndGroup()) {
            break;
        }
        var field = reader.getFieldNumber();
        switch (field) {
            case 1:
                var value = /** @type {!Uint8Array} */ (reader.readBytes());
                msg.addFileDescriptorProto(value);
                break;
            default:
                reader.skipField();
                break;
        }
    }
    return msg;
};
/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.grpc.reflection.v1alpha.FileDescriptorResponse.prototype.serializeBinary = function () {
    var writer = new jspb.BinaryWriter();
    proto.grpc.reflection.v1alpha.FileDescriptorResponse.serializeBinaryToWriter(this, writer);
    return writer.getResultBuffer();
};
/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.grpc.reflection.v1alpha.FileDescriptorResponse} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.grpc.reflection.v1alpha.FileDescriptorResponse.serializeBinaryToWriter = function (message, writer) {
    var f = undefined;
    f = message.getFileDescriptorProtoList_asU8();
    if (f.length > 0) {
        writer.writeRepeatedBytes(1, f);
    }
};
/**
 * repeated bytes file_descriptor_proto = 1;
 * @return {!(Array<!Uint8Array>|Array<string>)}
 */
proto.grpc.reflection.v1alpha.FileDescriptorResponse.prototype.getFileDescriptorProtoList = function () {
    return /** @type {!(Array<!Uint8Array>|Array<string>)} */ (jspb.Message.getRepeatedField(this, 1));
};
/**
 * repeated bytes file_descriptor_proto = 1;
 * This is a type-conversion wrapper around `getFileDescriptorProtoList()`
 * @return {!Array<string>}
 */
proto.grpc.reflection.v1alpha.FileDescriptorResponse.prototype.getFileDescriptorProtoList_asB64 = function () {
    return /** @type {!Array<string>} */ (jspb.Message.bytesListAsB64(this.getFileDescriptorProtoList()));
};
/**
 * repeated bytes file_descriptor_proto = 1;
 * Note that Uint8Array is not supported on all browsers.
 * @see http://caniuse.com/Uint8Array
 * This is a type-conversion wrapper around `getFileDescriptorProtoList()`
 * @return {!Array<!Uint8Array>}
 */
proto.grpc.reflection.v1alpha.FileDescriptorResponse.prototype.getFileDescriptorProtoList_asU8 = function () {
    return /** @type {!Array<!Uint8Array>} */ (jspb.Message.bytesListAsU8(this.getFileDescriptorProtoList()));
};
/**
 * @param {!(Array<!Uint8Array>|Array<string>)} value
 * @return {!proto.grpc.reflection.v1alpha.FileDescriptorResponse} returns this
 */
proto.grpc.reflection.v1alpha.FileDescriptorResponse.prototype.setFileDescriptorProtoList = function (value) {
    return jspb.Message.setField(this, 1, value || []);
};
/**
 * @param {!(string|Uint8Array)} value
 * @param {number=} opt_index
 * @return {!proto.grpc.reflection.v1alpha.FileDescriptorResponse} returns this
 */
proto.grpc.reflection.v1alpha.FileDescriptorResponse.prototype.addFileDescriptorProto = function (value, opt_index) {
    return jspb.Message.addToRepeatedField(this, 1, value, opt_index);
};
/**
 * Clears the list making it empty but non-null.
 * @return {!proto.grpc.reflection.v1alpha.FileDescriptorResponse} returns this
 */
proto.grpc.reflection.v1alpha.FileDescriptorResponse.prototype.clearFileDescriptorProtoList = function () {
    return this.setFileDescriptorProtoList([]);
};
/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
proto.grpc.reflection.v1alpha.ExtensionNumberResponse.repeatedFields_ = [2];
if (jspb.Message.GENERATE_TO_OBJECT) {
    /**
     * Creates an object representation of this proto.
     * Field names that are reserved in JavaScript and will be renamed to pb_name.
     * Optional fields that are not set will be set to undefined.
     * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
     * For the list of reserved names please see:
     *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
     * @param {boolean=} opt_includeInstance Deprecated. whether to include the
     *     JSPB instance for transitional soy proto support:
     *     http://goto/soy-param-migration
     * @return {!Object}
     */
    proto.grpc.reflection.v1alpha.ExtensionNumberResponse.prototype.toObject = function (opt_includeInstance) {
        return proto.grpc.reflection.v1alpha.ExtensionNumberResponse.toObject(opt_includeInstance, this);
    };
    /**
     * Static version of the {@see toObject} method.
     * @param {boolean|undefined} includeInstance Deprecated. Whether to include
     *     the JSPB instance for transitional soy proto support:
     *     http://goto/soy-param-migration
     * @param {!proto.grpc.reflection.v1alpha.ExtensionNumberResponse} msg The msg instance to transform.
     * @return {!Object}
     * @suppress {unusedLocalVariables} f is only used for nested messages
     */
    proto.grpc.reflection.v1alpha.ExtensionNumberResponse.toObject = function (includeInstance, msg) {
        var f, obj = {
            baseTypeName: jspb.Message.getFieldWithDefault(msg, 1, ""),
            extensionNumberList: (f = jspb.Message.getRepeatedField(msg, 2)) == null ? undefined : f
        };
        if (includeInstance) {
            obj.$jspbMessageInstance = msg;
        }
        return obj;
    };
}
/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.grpc.reflection.v1alpha.ExtensionNumberResponse}
 */
proto.grpc.reflection.v1alpha.ExtensionNumberResponse.deserializeBinary = function (bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.grpc.reflection.v1alpha.ExtensionNumberResponse;
    return proto.grpc.reflection.v1alpha.ExtensionNumberResponse.deserializeBinaryFromReader(msg, reader);
};
/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.grpc.reflection.v1alpha.ExtensionNumberResponse} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.grpc.reflection.v1alpha.ExtensionNumberResponse}
 */
proto.grpc.reflection.v1alpha.ExtensionNumberResponse.deserializeBinaryFromReader = function (msg, reader) {
    while (reader.nextField()) {
        if (reader.isEndGroup()) {
            break;
        }
        var field = reader.getFieldNumber();
        switch (field) {
            case 1:
                var value = /** @type {string} */ (reader.readString());
                msg.setBaseTypeName(value);
                break;
            case 2:
                var value = /** @type {!Array<number>} */ (reader.readPackedInt32());
                msg.setExtensionNumberList(value);
                break;
            default:
                reader.skipField();
                break;
        }
    }
    return msg;
};
/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.grpc.reflection.v1alpha.ExtensionNumberResponse.prototype.serializeBinary = function () {
    var writer = new jspb.BinaryWriter();
    proto.grpc.reflection.v1alpha.ExtensionNumberResponse.serializeBinaryToWriter(this, writer);
    return writer.getResultBuffer();
};
/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.grpc.reflection.v1alpha.ExtensionNumberResponse} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.grpc.reflection.v1alpha.ExtensionNumberResponse.serializeBinaryToWriter = function (message, writer) {
    var f = undefined;
    f = message.getBaseTypeName();
    if (f.length > 0) {
        writer.writeString(1, f);
    }
    f = message.getExtensionNumberList();
    if (f.length > 0) {
        writer.writePackedInt32(2, f);
    }
};
/**
 * optional string base_type_name = 1;
 * @return {string}
 */
proto.grpc.reflection.v1alpha.ExtensionNumberResponse.prototype.getBaseTypeName = function () {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};
/**
 * @param {string} value
 * @return {!proto.grpc.reflection.v1alpha.ExtensionNumberResponse} returns this
 */
proto.grpc.reflection.v1alpha.ExtensionNumberResponse.prototype.setBaseTypeName = function (value) {
    return jspb.Message.setProto3StringField(this, 1, value);
};
/**
 * repeated int32 extension_number = 2;
 * @return {!Array<number>}
 */
proto.grpc.reflection.v1alpha.ExtensionNumberResponse.prototype.getExtensionNumberList = function () {
    return /** @type {!Array<number>} */ (jspb.Message.getRepeatedField(this, 2));
};
/**
 * @param {!Array<number>} value
 * @return {!proto.grpc.reflection.v1alpha.ExtensionNumberResponse} returns this
 */
proto.grpc.reflection.v1alpha.ExtensionNumberResponse.prototype.setExtensionNumberList = function (value) {
    return jspb.Message.setField(this, 2, value || []);
};
/**
 * @param {number} value
 * @param {number=} opt_index
 * @return {!proto.grpc.reflection.v1alpha.ExtensionNumberResponse} returns this
 */
proto.grpc.reflection.v1alpha.ExtensionNumberResponse.prototype.addExtensionNumber = function (value, opt_index) {
    return jspb.Message.addToRepeatedField(this, 2, value, opt_index);
};
/**
 * Clears the list making it empty but non-null.
 * @return {!proto.grpc.reflection.v1alpha.ExtensionNumberResponse} returns this
 */
proto.grpc.reflection.v1alpha.ExtensionNumberResponse.prototype.clearExtensionNumberList = function () {
    return this.setExtensionNumberList([]);
};
/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
proto.grpc.reflection.v1alpha.ListServiceResponse.repeatedFields_ = [1];
if (jspb.Message.GENERATE_TO_OBJECT) {
    /**
     * Creates an object representation of this proto.
     * Field names that are reserved in JavaScript and will be renamed to pb_name.
     * Optional fields that are not set will be set to undefined.
     * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
     * For the list of reserved names please see:
     *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
     * @param {boolean=} opt_includeInstance Deprecated. whether to include the
     *     JSPB instance for transitional soy proto support:
     *     http://goto/soy-param-migration
     * @return {!Object}
     */
    proto.grpc.reflection.v1alpha.ListServiceResponse.prototype.toObject = function (opt_includeInstance) {
        return proto.grpc.reflection.v1alpha.ListServiceResponse.toObject(opt_includeInstance, this);
    };
    /**
     * Static version of the {@see toObject} method.
     * @param {boolean|undefined} includeInstance Deprecated. Whether to include
     *     the JSPB instance for transitional soy proto support:
     *     http://goto/soy-param-migration
     * @param {!proto.grpc.reflection.v1alpha.ListServiceResponse} msg The msg instance to transform.
     * @return {!Object}
     * @suppress {unusedLocalVariables} f is only used for nested messages
     */
    proto.grpc.reflection.v1alpha.ListServiceResponse.toObject = function (includeInstance, msg) {
        var f, obj = {
            serviceList: jspb.Message.toObjectList(msg.getServiceList(), proto.grpc.reflection.v1alpha.ServiceResponse.toObject, includeInstance)
        };
        if (includeInstance) {
            obj.$jspbMessageInstance = msg;
        }
        return obj;
    };
}
/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.grpc.reflection.v1alpha.ListServiceResponse}
 */
proto.grpc.reflection.v1alpha.ListServiceResponse.deserializeBinary = function (bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.grpc.reflection.v1alpha.ListServiceResponse;
    return proto.grpc.reflection.v1alpha.ListServiceResponse.deserializeBinaryFromReader(msg, reader);
};
/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.grpc.reflection.v1alpha.ListServiceResponse} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.grpc.reflection.v1alpha.ListServiceResponse}
 */
proto.grpc.reflection.v1alpha.ListServiceResponse.deserializeBinaryFromReader = function (msg, reader) {
    while (reader.nextField()) {
        if (reader.isEndGroup()) {
            break;
        }
        var field = reader.getFieldNumber();
        switch (field) {
            case 1:
                var value = new proto.grpc.reflection.v1alpha.ServiceResponse;
                reader.readMessage(value, proto.grpc.reflection.v1alpha.ServiceResponse.deserializeBinaryFromReader);
                msg.addService(value);
                break;
            default:
                reader.skipField();
                break;
        }
    }
    return msg;
};
/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.grpc.reflection.v1alpha.ListServiceResponse.prototype.serializeBinary = function () {
    var writer = new jspb.BinaryWriter();
    proto.grpc.reflection.v1alpha.ListServiceResponse.serializeBinaryToWriter(this, writer);
    return writer.getResultBuffer();
};
/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.grpc.reflection.v1alpha.ListServiceResponse} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.grpc.reflection.v1alpha.ListServiceResponse.serializeBinaryToWriter = function (message, writer) {
    var f = undefined;
    f = message.getServiceList();
    if (f.length > 0) {
        writer.writeRepeatedMessage(1, f, proto.grpc.reflection.v1alpha.ServiceResponse.serializeBinaryToWriter);
    }
};
/**
 * repeated ServiceResponse service = 1;
 * @return {!Array<!proto.grpc.reflection.v1alpha.ServiceResponse>}
 */
proto.grpc.reflection.v1alpha.ListServiceResponse.prototype.getServiceList = function () {
    return /** @type{!Array<!proto.grpc.reflection.v1alpha.ServiceResponse>} */ (jspb.Message.getRepeatedWrapperField(this, proto.grpc.reflection.v1alpha.ServiceResponse, 1));
};
/**
 * @param {!Array<!proto.grpc.reflection.v1alpha.ServiceResponse>} value
 * @return {!proto.grpc.reflection.v1alpha.ListServiceResponse} returns this
*/
proto.grpc.reflection.v1alpha.ListServiceResponse.prototype.setServiceList = function (value) {
    return jspb.Message.setRepeatedWrapperField(this, 1, value);
};
/**
 * @param {!proto.grpc.reflection.v1alpha.ServiceResponse=} opt_value
 * @param {number=} opt_index
 * @return {!proto.grpc.reflection.v1alpha.ServiceResponse}
 */
proto.grpc.reflection.v1alpha.ListServiceResponse.prototype.addService = function (opt_value, opt_index) {
    return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.grpc.reflection.v1alpha.ServiceResponse, opt_index);
};
/**
 * Clears the list making it empty but non-null.
 * @return {!proto.grpc.reflection.v1alpha.ListServiceResponse} returns this
 */
proto.grpc.reflection.v1alpha.ListServiceResponse.prototype.clearServiceList = function () {
    return this.setServiceList([]);
};
if (jspb.Message.GENERATE_TO_OBJECT) {
    /**
     * Creates an object representation of this proto.
     * Field names that are reserved in JavaScript and will be renamed to pb_name.
     * Optional fields that are not set will be set to undefined.
     * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
     * For the list of reserved names please see:
     *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
     * @param {boolean=} opt_includeInstance Deprecated. whether to include the
     *     JSPB instance for transitional soy proto support:
     *     http://goto/soy-param-migration
     * @return {!Object}
     */
    proto.grpc.reflection.v1alpha.ServiceResponse.prototype.toObject = function (opt_includeInstance) {
        return proto.grpc.reflection.v1alpha.ServiceResponse.toObject(opt_includeInstance, this);
    };
    /**
     * Static version of the {@see toObject} method.
     * @param {boolean|undefined} includeInstance Deprecated. Whether to include
     *     the JSPB instance for transitional soy proto support:
     *     http://goto/soy-param-migration
     * @param {!proto.grpc.reflection.v1alpha.ServiceResponse} msg The msg instance to transform.
     * @return {!Object}
     * @suppress {unusedLocalVariables} f is only used for nested messages
     */
    proto.grpc.reflection.v1alpha.ServiceResponse.toObject = function (includeInstance, msg) {
        var f, obj = {
            name: jspb.Message.getFieldWithDefault(msg, 1, "")
        };
        if (includeInstance) {
            obj.$jspbMessageInstance = msg;
        }
        return obj;
    };
}
/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.grpc.reflection.v1alpha.ServiceResponse}
 */
proto.grpc.reflection.v1alpha.ServiceResponse.deserializeBinary = function (bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.grpc.reflection.v1alpha.ServiceResponse;
    return proto.grpc.reflection.v1alpha.ServiceResponse.deserializeBinaryFromReader(msg, reader);
};
/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.grpc.reflection.v1alpha.ServiceResponse} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.grpc.reflection.v1alpha.ServiceResponse}
 */
proto.grpc.reflection.v1alpha.ServiceResponse.deserializeBinaryFromReader = function (msg, reader) {
    while (reader.nextField()) {
        if (reader.isEndGroup()) {
            break;
        }
        var field = reader.getFieldNumber();
        switch (field) {
            case 1:
                var value = /** @type {string} */ (reader.readString());
                msg.setName(value);
                break;
            default:
                reader.skipField();
                break;
        }
    }
    return msg;
};
/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.grpc.reflection.v1alpha.ServiceResponse.prototype.serializeBinary = function () {
    var writer = new jspb.BinaryWriter();
    proto.grpc.reflection.v1alpha.ServiceResponse.serializeBinaryToWriter(this, writer);
    return writer.getResultBuffer();
};
/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.grpc.reflection.v1alpha.ServiceResponse} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.grpc.reflection.v1alpha.ServiceResponse.serializeBinaryToWriter = function (message, writer) {
    var f = undefined;
    f = message.getName();
    if (f.length > 0) {
        writer.writeString(1, f);
    }
};
/**
 * optional string name = 1;
 * @return {string}
 */
proto.grpc.reflection.v1alpha.ServiceResponse.prototype.getName = function () {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};
/**
 * @param {string} value
 * @return {!proto.grpc.reflection.v1alpha.ServiceResponse} returns this
 */
proto.grpc.reflection.v1alpha.ServiceResponse.prototype.setName = function (value) {
    return jspb.Message.setProto3StringField(this, 1, value);
};
if (jspb.Message.GENERATE_TO_OBJECT) {
    /**
     * Creates an object representation of this proto.
     * Field names that are reserved in JavaScript and will be renamed to pb_name.
     * Optional fields that are not set will be set to undefined.
     * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
     * For the list of reserved names please see:
     *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
     * @param {boolean=} opt_includeInstance Deprecated. whether to include the
     *     JSPB instance for transitional soy proto support:
     *     http://goto/soy-param-migration
     * @return {!Object}
     */
    proto.grpc.reflection.v1alpha.ErrorResponse.prototype.toObject = function (opt_includeInstance) {
        return proto.grpc.reflection.v1alpha.ErrorResponse.toObject(opt_includeInstance, this);
    };
    /**
     * Static version of the {@see toObject} method.
     * @param {boolean|undefined} includeInstance Deprecated. Whether to include
     *     the JSPB instance for transitional soy proto support:
     *     http://goto/soy-param-migration
     * @param {!proto.grpc.reflection.v1alpha.ErrorResponse} msg The msg instance to transform.
     * @return {!Object}
     * @suppress {unusedLocalVariables} f is only used for nested messages
     */
    proto.grpc.reflection.v1alpha.ErrorResponse.toObject = function (includeInstance, msg) {
        var f, obj = {
            errorCode: jspb.Message.getFieldWithDefault(msg, 1, 0),
            errorMessage: jspb.Message.getFieldWithDefault(msg, 2, "")
        };
        if (includeInstance) {
            obj.$jspbMessageInstance = msg;
        }
        return obj;
    };
}
/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.grpc.reflection.v1alpha.ErrorResponse}
 */
proto.grpc.reflection.v1alpha.ErrorResponse.deserializeBinary = function (bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.grpc.reflection.v1alpha.ErrorResponse;
    return proto.grpc.reflection.v1alpha.ErrorResponse.deserializeBinaryFromReader(msg, reader);
};
/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.grpc.reflection.v1alpha.ErrorResponse} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.grpc.reflection.v1alpha.ErrorResponse}
 */
proto.grpc.reflection.v1alpha.ErrorResponse.deserializeBinaryFromReader = function (msg, reader) {
    while (reader.nextField()) {
        if (reader.isEndGroup()) {
            break;
        }
        var field = reader.getFieldNumber();
        switch (field) {
            case 1:
                var value = /** @type {number} */ (reader.readInt32());
                msg.setErrorCode(value);
                break;
            case 2:
                var value = /** @type {string} */ (reader.readString());
                msg.setErrorMessage(value);
                break;
            default:
                reader.skipField();
                break;
        }
    }
    return msg;
};
/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.grpc.reflection.v1alpha.ErrorResponse.prototype.serializeBinary = function () {
    var writer = new jspb.BinaryWriter();
    proto.grpc.reflection.v1alpha.ErrorResponse.serializeBinaryToWriter(this, writer);
    return writer.getResultBuffer();
};
/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.grpc.reflection.v1alpha.ErrorResponse} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.grpc.reflection.v1alpha.ErrorResponse.serializeBinaryToWriter = function (message, writer) {
    var f = undefined;
    f = message.getErrorCode();
    if (f !== 0) {
        writer.writeInt32(1, f);
    }
    f = message.getErrorMessage();
    if (f.length > 0) {
        writer.writeString(2, f);
    }
};
/**
 * optional int32 error_code = 1;
 * @return {number}
 */
proto.grpc.reflection.v1alpha.ErrorResponse.prototype.getErrorCode = function () {
    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};
/**
 * @param {number} value
 * @return {!proto.grpc.reflection.v1alpha.ErrorResponse} returns this
 */
proto.grpc.reflection.v1alpha.ErrorResponse.prototype.setErrorCode = function (value) {
    return jspb.Message.setProto3IntField(this, 1, value);
};
/**
 * optional string error_message = 2;
 * @return {string}
 */
proto.grpc.reflection.v1alpha.ErrorResponse.prototype.getErrorMessage = function () {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};
/**
 * @param {string} value
 * @return {!proto.grpc.reflection.v1alpha.ErrorResponse} returns this
 */
proto.grpc.reflection.v1alpha.ErrorResponse.prototype.setErrorMessage = function (value) {
    return jspb.Message.setProto3StringField(this, 2, value);
};
goog.object.extend(exports, proto.grpc.reflection.v1alpha);
//# sourceMappingURL=reflection_pb.js.map