blob: 8d3318f50962baaa58da51e2750e28744d677893 [file] [log] [blame]
//
// Copyright 2014 The Kythe Authors. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.25.0-devel
// protoc v3.12.1
// source: kythe/proto/analysis.proto
package proto
import (
proto "github.com/golang/protobuf/proto"
any "github.com/golang/protobuf/ptypes/any"
timestamp "github.com/golang/protobuf/ptypes/timestamp"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
// This is a compile-time assertion that a sufficiently up-to-date version
// of the legacy proto package is being used.
const _ = proto.ProtoPackageIsVersion4
type AnalysisResult_Status int32
const (
AnalysisResult_COMPLETE AnalysisResult_Status = 0 // analysis completed successfully without error
AnalysisResult_INCOMPLETE AnalysisResult_Status = 1 // analysis ended after partial results
AnalysisResult_INVALID_REQUEST AnalysisResult_Status = 2 // the analysis request was invalid for this analyzer
)
// Enum value maps for AnalysisResult_Status.
var (
AnalysisResult_Status_name = map[int32]string{
0: "COMPLETE",
1: "INCOMPLETE",
2: "INVALID_REQUEST",
}
AnalysisResult_Status_value = map[string]int32{
"COMPLETE": 0,
"INCOMPLETE": 1,
"INVALID_REQUEST": 2,
}
)
func (x AnalysisResult_Status) Enum() *AnalysisResult_Status {
p := new(AnalysisResult_Status)
*p = x
return p
}
func (x AnalysisResult_Status) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (AnalysisResult_Status) Descriptor() protoreflect.EnumDescriptor {
return file_kythe_proto_analysis_proto_enumTypes[0].Descriptor()
}
func (AnalysisResult_Status) Type() protoreflect.EnumType {
return &file_kythe_proto_analysis_proto_enumTypes[0]
}
func (x AnalysisResult_Status) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use AnalysisResult_Status.Descriptor instead.
func (AnalysisResult_Status) EnumDescriptor() ([]byte, []int) {
return file_kythe_proto_analysis_proto_rawDescGZIP(), []int{2, 0}
}
// An AnalysisRequest instructs an analyzer to perform an analysis on a single
// CompilationUnit.
type AnalysisRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The compilation to analyze.
Compilation *CompilationUnit `protobuf:"bytes,1,opt,name=compilation,proto3" json:"compilation,omitempty"`
// The address of a file data service to use. If this is provided, it should
// be used in preference to any other file data service the analyzer may know
// about for this compilation.
FileDataService string `protobuf:"bytes,2,opt,name=file_data_service,json=fileDataService,proto3" json:"file_data_service,omitempty"`
// The revision marker that should be attributed to this compilation.
Revision string `protobuf:"bytes,3,opt,name=revision,proto3" json:"revision,omitempty"`
// An identifier for the current analysis.
BuildId string `protobuf:"bytes,4,opt,name=build_id,json=buildId,proto3" json:"build_id,omitempty"`
}
func (x *AnalysisRequest) Reset() {
*x = AnalysisRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_kythe_proto_analysis_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AnalysisRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AnalysisRequest) ProtoMessage() {}
func (x *AnalysisRequest) ProtoReflect() protoreflect.Message {
mi := &file_kythe_proto_analysis_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use AnalysisRequest.ProtoReflect.Descriptor instead.
func (*AnalysisRequest) Descriptor() ([]byte, []int) {
return file_kythe_proto_analysis_proto_rawDescGZIP(), []int{0}
}
func (x *AnalysisRequest) GetCompilation() *CompilationUnit {
if x != nil {
return x.Compilation
}
return nil
}
func (x *AnalysisRequest) GetFileDataService() string {
if x != nil {
return x.FileDataService
}
return ""
}
func (x *AnalysisRequest) GetRevision() string {
if x != nil {
return x.Revision
}
return ""
}
func (x *AnalysisRequest) GetBuildId() string {
if x != nil {
return x.BuildId
}
return ""
}
// AnalysisOutput contains an output artifact for the current analysis taking
// place. A given analysis may not produce any outputs. It is okay for an
// indexer to send an empty AnalysisOutput message if needed to keep the RPC
// channel alive; the driver must correctly handle this.
//
// The format of value is determined by the analyzer. Kythe language indexers
// emit wire-format kythe.proto.Entry messages.
type AnalysisOutput struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
// An analyzer may optionally report the final result of analysis by
// populating this field in the last output it emits.
//
// Constraints: If final_result is set, value must be unset, and once a
// final_result has been sent no further outputs may be sent. The driver must
// enforce these constraints by aborting and discarding the request if the
// analyzer sends additional data after the final_result. It is legal for the
// analyzer to omit any final_result, in which case the driver will assume
// that the analysis was completed successfully.
FinalResult *AnalysisResult `protobuf:"bytes,10,opt,name=final_result,json=finalResult,proto3" json:"final_result,omitempty"`
}
func (x *AnalysisOutput) Reset() {
*x = AnalysisOutput{}
if protoimpl.UnsafeEnabled {
mi := &file_kythe_proto_analysis_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AnalysisOutput) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AnalysisOutput) ProtoMessage() {}
func (x *AnalysisOutput) ProtoReflect() protoreflect.Message {
mi := &file_kythe_proto_analysis_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use AnalysisOutput.ProtoReflect.Descriptor instead.
func (*AnalysisOutput) Descriptor() ([]byte, []int) {
return file_kythe_proto_analysis_proto_rawDescGZIP(), []int{1}
}
func (x *AnalysisOutput) GetValue() []byte {
if x != nil {
return x.Value
}
return nil
}
func (x *AnalysisOutput) GetFinalResult() *AnalysisResult {
if x != nil {
return x.FinalResult
}
return nil
}
// AnalysisResult documents the analyzer's opinion of an analysis request.
type AnalysisResult struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Status AnalysisResult_Status `protobuf:"varint,1,opt,name=status,proto3,enum=kythe.proto.AnalysisResult_Status" json:"status,omitempty"` // the status code describing the result
Summary string `protobuf:"bytes,2,opt,name=summary,proto3" json:"summary,omitempty"` // a human-readable error message for use in diagnostics
}
func (x *AnalysisResult) Reset() {
*x = AnalysisResult{}
if protoimpl.UnsafeEnabled {
mi := &file_kythe_proto_analysis_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AnalysisResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AnalysisResult) ProtoMessage() {}
func (x *AnalysisResult) ProtoReflect() protoreflect.Message {
mi := &file_kythe_proto_analysis_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use AnalysisResult.ProtoReflect.Descriptor instead.
func (*AnalysisResult) Descriptor() ([]byte, []int) {
return file_kythe_proto_analysis_proto_rawDescGZIP(), []int{2}
}
func (x *AnalysisResult) GetStatus() AnalysisResult_Status {
if x != nil {
return x.Status
}
return AnalysisResult_COMPLETE
}
func (x *AnalysisResult) GetSummary() string {
if x != nil {
return x.Summary
}
return ""
}
// Describes a single unit of compilation.
type CompilationUnit struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The base VName for the compilation and any VNames generated from its
// analysis. The `v_name` field does not identify a compilation unit, but
// provides the information the analyzer needs to correctly label the
// entities described by its source. At minimum, this should include the
// `corpus` and `language` the unit belongs to, and if appropriate the
// `root`. The `v_name` of an object in the code is formed by merging its
// specifics into this basis.
//
// This VName also serves as the default basis for any required inputs that
// do not provide their own `v_name` field. As such, the general logic for
// constructing VNames for entities arising a given source path should be:
// {
// vname := unit.required_input[path].v_name
// if vname.corpus is empty
// vname.corpus := unit.v_name.corpus
// vname.root := unit.v_name.root
// if vname.path is empty
// vname.path := path
// }
// The above applies generally, but specific node kinds may have rules which
// override this logic.
VName *VName `protobuf:"bytes,1,opt,name=v_name,json=vName,proto3" json:"v_name,omitempty"`
// All files that might be touched in the course of this compilation.
// Consumers of the CompilationUnit may not assume anything about the order
// of the elements of this field.
RequiredInput []*CompilationUnit_FileInput `protobuf:"bytes,3,rep,name=required_input,json=requiredInput,proto3" json:"required_input,omitempty"`
// Set by the extractor to indicate that the original input had compile
// errors. This is used to check validity of the sharded analysis.
HasCompileErrors bool `protobuf:"varint,4,opt,name=has_compile_errors,json=hasCompileErrors,proto3" json:"has_compile_errors,omitempty"`
// The arguments to pass to a compiler tool for this compilation unit,
// including the compiler executable, flags, and input files.
Argument []string `protobuf:"bytes,5,rep,name=argument,proto3" json:"argument,omitempty"`
// Of those files in `required_input`, the ones that this CompilationUnit
// is intended to analyze. This is necessary to support languages like Go,
// where a single translation unit may contain many source files that must all
// be processed at once (while excluding source files that belong to other
// CUs/packages, if any).
SourceFile []string `protobuf:"bytes,6,rep,name=source_file,json=sourceFile,proto3" json:"source_file,omitempty"`
// The output key of the CompilationUnit; for example, the object file that
// it writes. The output key for a compilation should match the path in the
// FileInfo message of a dependent compilation that consumes its output.
OutputKey string `protobuf:"bytes,7,opt,name=output_key,json=outputKey,proto3" json:"output_key,omitempty"`
// The absolute path of the current working directory where the build tool
// was invoked. During analysis, a file whose path has working_directory
// plus a path separator as an exact prefix is considered accessible from
// that same path without said prefix. It is only necessary to set this
// field if the build tool requires it.
WorkingDirectory string `protobuf:"bytes,8,opt,name=working_directory,json=workingDirectory,proto3" json:"working_directory,omitempty"`
// For languages that make use of resource contexts (like C++), the context
// that should be initially entered.
// TODO(zarko): What is a "resource context"? Needs a clear definition and/or
// a link to one.
EntryContext string `protobuf:"bytes,9,opt,name=entry_context,json=entryContext,proto3" json:"entry_context,omitempty"`
// A collection of environment variables that the build environment expects
// to be set. As a rule, we only record variables here that must be set to
// specific values for the build to work. Users of this field may not assume
// anything about the order of values; in particular the pipeline is free to
// sort by name in order to canonicalize the message.
Environment []*CompilationUnit_Env `protobuf:"bytes,10,rep,name=environment,proto3" json:"environment,omitempty"`
// Per-language or per-tool details.
Details []*any.Any `protobuf:"bytes,11,rep,name=details,proto3" json:"details,omitempty"`
}
func (x *CompilationUnit) Reset() {
*x = CompilationUnit{}
if protoimpl.UnsafeEnabled {
mi := &file_kythe_proto_analysis_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CompilationUnit) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CompilationUnit) ProtoMessage() {}
func (x *CompilationUnit) ProtoReflect() protoreflect.Message {
mi := &file_kythe_proto_analysis_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CompilationUnit.ProtoReflect.Descriptor instead.
func (*CompilationUnit) Descriptor() ([]byte, []int) {
return file_kythe_proto_analysis_proto_rawDescGZIP(), []int{3}
}
func (x *CompilationUnit) GetVName() *VName {
if x != nil {
return x.VName
}
return nil
}
func (x *CompilationUnit) GetRequiredInput() []*CompilationUnit_FileInput {
if x != nil {
return x.RequiredInput
}
return nil
}
func (x *CompilationUnit) GetHasCompileErrors() bool {
if x != nil {
return x.HasCompileErrors
}
return false
}
func (x *CompilationUnit) GetArgument() []string {
if x != nil {
return x.Argument
}
return nil
}
func (x *CompilationUnit) GetSourceFile() []string {
if x != nil {
return x.SourceFile
}
return nil
}
func (x *CompilationUnit) GetOutputKey() string {
if x != nil {
return x.OutputKey
}
return ""
}
func (x *CompilationUnit) GetWorkingDirectory() string {
if x != nil {
return x.WorkingDirectory
}
return ""
}
func (x *CompilationUnit) GetEntryContext() string {
if x != nil {
return x.EntryContext
}
return ""
}
func (x *CompilationUnit) GetEnvironment() []*CompilationUnit_Env {
if x != nil {
return x.Environment
}
return nil
}
func (x *CompilationUnit) GetDetails() []*any.Any {
if x != nil {
return x.Details
}
return nil
}
// KzipInfo contains a summary of the contents of a kzip. It provides a
// breakdown of files and units by corpus and lanugage.
type KzipInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Map from corpus name to corpus info.
Corpora map[string]*KzipInfo_CorpusInfo `protobuf:"bytes,1,rep,name=corpora,proto3" json:"corpora,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
// Size in bytes of all the kzips that contributed to this KzipInfo.
Size int64 `protobuf:"varint,4,opt,name=size,proto3" json:"size,omitempty"`
// Error messages detected when computing KzipInfo. For example, source files
// with no corresponding required_input. If there are any items in this field,
// it indicates that this kzip has serious problems and should not be used.
CriticalKzipErrors []string `protobuf:"bytes,5,rep,name=critical_kzip_errors,json=criticalKzipErrors,proto3" json:"critical_kzip_errors,omitempty"`
}
func (x *KzipInfo) Reset() {
*x = KzipInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_kythe_proto_analysis_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *KzipInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*KzipInfo) ProtoMessage() {}
func (x *KzipInfo) ProtoReflect() protoreflect.Message {
mi := &file_kythe_proto_analysis_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use KzipInfo.ProtoReflect.Descriptor instead.
func (*KzipInfo) Descriptor() ([]byte, []int) {
return file_kythe_proto_analysis_proto_rawDescGZIP(), []int{4}
}
func (x *KzipInfo) GetCorpora() map[string]*KzipInfo_CorpusInfo {
if x != nil {
return x.Corpora
}
return nil
}
func (x *KzipInfo) GetSize() int64 {
if x != nil {
return x.Size
}
return 0
}
func (x *KzipInfo) GetCriticalKzipErrors() []string {
if x != nil {
return x.CriticalKzipErrors
}
return nil
}
// RepoMetadata provides storage for additional information about a specific
// build from a repository. This message is stored in the
// CompilationUnit.details field.
type BuildMetadata struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The commit_timestamp is generally the timestamp at which the source for
// this build was checked into version control, but can be any timestamp
// associated with the origin of this build. In the case that a project is
// made up of multiple repositories, this timestamp should be the one
// associated with the primary/super repository.
CommitTimestamp *timestamp.Timestamp `protobuf:"bytes,1,opt,name=commit_timestamp,json=commitTimestamp,proto3" json:"commit_timestamp,omitempty"`
}
func (x *BuildMetadata) Reset() {
*x = BuildMetadata{}
if protoimpl.UnsafeEnabled {
mi := &file_kythe_proto_analysis_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *BuildMetadata) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BuildMetadata) ProtoMessage() {}
func (x *BuildMetadata) ProtoReflect() protoreflect.Message {
mi := &file_kythe_proto_analysis_proto_msgTypes[5]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use BuildMetadata.ProtoReflect.Descriptor instead.
func (*BuildMetadata) Descriptor() ([]byte, []int) {
return file_kythe_proto_analysis_proto_rawDescGZIP(), []int{5}
}
func (x *BuildMetadata) GetCommitTimestamp() *timestamp.Timestamp {
if x != nil {
return x.CommitTimestamp
}
return nil
}
// A FilesRequest specifies a collection of files to be fetched from a
// FileDataService.
type FilesRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Files []*FileInfo `protobuf:"bytes,1,rep,name=files,proto3" json:"files,omitempty"`
}
func (x *FilesRequest) Reset() {
*x = FilesRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_kythe_proto_analysis_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FilesRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FilesRequest) ProtoMessage() {}
func (x *FilesRequest) ProtoReflect() protoreflect.Message {
mi := &file_kythe_proto_analysis_proto_msgTypes[6]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use FilesRequest.ProtoReflect.Descriptor instead.
func (*FilesRequest) Descriptor() ([]byte, []int) {
return file_kythe_proto_analysis_proto_rawDescGZIP(), []int{6}
}
func (x *FilesRequest) GetFiles() []*FileInfo {
if x != nil {
return x.Files
}
return nil
}
// A FileInfo identifies a file used for analysis.
// At least one of the path and digest fields must be non-empty.
type FileInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The path of the file relative to the working directory of the compilation
// command, which is typically the root of the build.
// For example:
// file/base/file.cc
// ../../base/atomic_ref_count.h
Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"`
// The lowercase ascii hex SHA-256 digest of the file contents.
Digest string `protobuf:"bytes,2,opt,name=digest,proto3" json:"digest,omitempty"`
}
func (x *FileInfo) Reset() {
*x = FileInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_kythe_proto_analysis_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FileInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FileInfo) ProtoMessage() {}
func (x *FileInfo) ProtoReflect() protoreflect.Message {
mi := &file_kythe_proto_analysis_proto_msgTypes[7]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use FileInfo.ProtoReflect.Descriptor instead.
func (*FileInfo) Descriptor() ([]byte, []int) {
return file_kythe_proto_analysis_proto_rawDescGZIP(), []int{7}
}
func (x *FileInfo) GetPath() string {
if x != nil {
return x.Path
}
return ""
}
func (x *FileInfo) GetDigest() string {
if x != nil {
return x.Digest
}
return ""
}
// A FileData carries the content of a single file, as returned from the Get
// method of a FileDataService.
type FileData struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The content of the file, if known. If missing == true, this field must be
// empty.
Content []byte `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"`
// A (possibly normalized) copy of the non-empty fields of the FileInfo
// message from the Get request. If either field from the original request
// was empty, the server may optionally fill in that field in the reply if it
// is known. For example, if the client requested a file by path only and
// the server found it, the reply MAY fill in the digest.
Info *FileInfo `protobuf:"bytes,2,opt,name=info,proto3" json:"info,omitempty"`
// If true, no data are available for the requested file, and the content
// field must be empty. If false, the content field contains the complete
// file content (which may be empty).
Missing bool `protobuf:"varint,3,opt,name=missing,proto3" json:"missing,omitempty"`
}
func (x *FileData) Reset() {
*x = FileData{}
if protoimpl.UnsafeEnabled {
mi := &file_kythe_proto_analysis_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FileData) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FileData) ProtoMessage() {}
func (x *FileData) ProtoReflect() protoreflect.Message {
mi := &file_kythe_proto_analysis_proto_msgTypes[8]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use FileData.ProtoReflect.Descriptor instead.
func (*FileData) Descriptor() ([]byte, []int) {
return file_kythe_proto_analysis_proto_rawDescGZIP(), []int{8}
}
func (x *FileData) GetContent() []byte {
if x != nil {
return x.Content
}
return nil
}
func (x *FileData) GetInfo() *FileInfo {
if x != nil {
return x.Info
}
return nil
}
func (x *FileData) GetMissing() bool {
if x != nil {
return x.Missing
}
return false
}
// A CompilationBundle carries a CompilationUnit and its required FileData.
type CompilationBundle struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The CompilationUnit to be analyzed.
Unit *CompilationUnit `protobuf:"bytes,1,opt,name=unit,proto3" json:"unit,omitempty"`
// File data for the CompilationUnit's required_input.
Files []*FileData `protobuf:"bytes,2,rep,name=files,proto3" json:"files,omitempty"`
}
func (x *CompilationBundle) Reset() {
*x = CompilationBundle{}
if protoimpl.UnsafeEnabled {
mi := &file_kythe_proto_analysis_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CompilationBundle) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CompilationBundle) ProtoMessage() {}
func (x *CompilationBundle) ProtoReflect() protoreflect.Message {
mi := &file_kythe_proto_analysis_proto_msgTypes[9]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CompilationBundle.ProtoReflect.Descriptor instead.
func (*CompilationBundle) Descriptor() ([]byte, []int) {
return file_kythe_proto_analysis_proto_rawDescGZIP(), []int{9}
}
func (x *CompilationBundle) GetUnit() *CompilationUnit {
if x != nil {
return x.Unit
}
return nil
}
func (x *CompilationBundle) GetFiles() []*FileData {
if x != nil {
return x.Files
}
return nil
}
// A compilation unit combined with index terms.
type IndexedCompilation struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Unit *CompilationUnit `protobuf:"bytes,1,opt,name=unit,proto3" json:"unit,omitempty"`
Index *IndexedCompilation_Index `protobuf:"bytes,2,opt,name=index,proto3" json:"index,omitempty"`
}
func (x *IndexedCompilation) Reset() {
*x = IndexedCompilation{}
if protoimpl.UnsafeEnabled {
mi := &file_kythe_proto_analysis_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *IndexedCompilation) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*IndexedCompilation) ProtoMessage() {}
func (x *IndexedCompilation) ProtoReflect() protoreflect.Message {
mi := &file_kythe_proto_analysis_proto_msgTypes[10]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use IndexedCompilation.ProtoReflect.Descriptor instead.
func (*IndexedCompilation) Descriptor() ([]byte, []int) {
return file_kythe_proto_analysis_proto_rawDescGZIP(), []int{10}
}
func (x *IndexedCompilation) GetUnit() *CompilationUnit {
if x != nil {
return x.Unit
}
return nil
}
func (x *IndexedCompilation) GetIndex() *IndexedCompilation_Index {
if x != nil {
return x.Index
}
return nil
}
type CompilationUnit_FileInput struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// If set, overrides the `v_name` in the `CompilationUnit` for deriving
// VNames during analysis. Values for fields which are not explicitly set
// should be taken from the CompilationUnit's VName or (for path) FileInfo.
VName *VName `protobuf:"bytes,1,opt,name=v_name,json=vName,proto3" json:"v_name,omitempty"`
// The file's metadata. It is invalid to provide a FileInput without both
// the file's path and digest.
Info *FileInfo `protobuf:"bytes,2,opt,name=info,proto3" json:"info,omitempty"`
// Per-language or per-tool details.
Details []*any.Any `protobuf:"bytes,4,rep,name=details,proto3" json:"details,omitempty"`
}
func (x *CompilationUnit_FileInput) Reset() {
*x = CompilationUnit_FileInput{}
if protoimpl.UnsafeEnabled {
mi := &file_kythe_proto_analysis_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CompilationUnit_FileInput) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CompilationUnit_FileInput) ProtoMessage() {}
func (x *CompilationUnit_FileInput) ProtoReflect() protoreflect.Message {
mi := &file_kythe_proto_analysis_proto_msgTypes[11]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CompilationUnit_FileInput.ProtoReflect.Descriptor instead.
func (*CompilationUnit_FileInput) Descriptor() ([]byte, []int) {
return file_kythe_proto_analysis_proto_rawDescGZIP(), []int{3, 0}
}
func (x *CompilationUnit_FileInput) GetVName() *VName {
if x != nil {
return x.VName
}
return nil
}
func (x *CompilationUnit_FileInput) GetInfo() *FileInfo {
if x != nil {
return x.Info
}
return nil
}
func (x *CompilationUnit_FileInput) GetDetails() []*any.Any {
if x != nil {
return x.Details
}
return nil
}
// An Env message represents the name and value of a single environment
// variable in the build environment.
type CompilationUnit_Env struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
}
func (x *CompilationUnit_Env) Reset() {
*x = CompilationUnit_Env{}
if protoimpl.UnsafeEnabled {
mi := &file_kythe_proto_analysis_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CompilationUnit_Env) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CompilationUnit_Env) ProtoMessage() {}
func (x *CompilationUnit_Env) ProtoReflect() protoreflect.Message {
mi := &file_kythe_proto_analysis_proto_msgTypes[12]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CompilationUnit_Env.ProtoReflect.Descriptor instead.
func (*CompilationUnit_Env) Descriptor() ([]byte, []int) {
return file_kythe_proto_analysis_proto_rawDescGZIP(), []int{3, 1}
}
func (x *CompilationUnit_Env) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *CompilationUnit_Env) GetValue() string {
if x != nil {
return x.Value
}
return ""
}
type KzipInfo_CorpusInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Map from language to count of required inputs that have this corpus in
// their VName.
LanguageRequiredInputs map[string]*KzipInfo_CorpusInfo_RequiredInputs `protobuf:"bytes,4,rep,name=language_required_inputs,json=languageRequiredInputs,proto3" json:"language_required_inputs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
// Map from language to count of sources that have this corpus in their
// required_input VName.
LanguageSources map[string]*KzipInfo_CorpusInfo_RequiredInputs `protobuf:"bytes,5,rep,name=language_sources,json=languageSources,proto3" json:"language_sources,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}
func (x *KzipInfo_CorpusInfo) Reset() {
*x = KzipInfo_CorpusInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_kythe_proto_analysis_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *KzipInfo_CorpusInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*KzipInfo_CorpusInfo) ProtoMessage() {}
func (x *KzipInfo_CorpusInfo) ProtoReflect() protoreflect.Message {
mi := &file_kythe_proto_analysis_proto_msgTypes[13]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use KzipInfo_CorpusInfo.ProtoReflect.Descriptor instead.
func (*KzipInfo_CorpusInfo) Descriptor() ([]byte, []int) {
return file_kythe_proto_analysis_proto_rawDescGZIP(), []int{4, 0}
}
func (x *KzipInfo_CorpusInfo) GetLanguageRequiredInputs() map[string]*KzipInfo_CorpusInfo_RequiredInputs {
if x != nil {
return x.LanguageRequiredInputs
}
return nil
}
func (x *KzipInfo_CorpusInfo) GetLanguageSources() map[string]*KzipInfo_CorpusInfo_RequiredInputs {
if x != nil {
return x.LanguageSources
}
return nil
}
type KzipInfo_CorpusInfo_RequiredInputs struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// TODO(salguarnieri) Add count of unique inputs for this corpus?
Count int32 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"`
}
func (x *KzipInfo_CorpusInfo_RequiredInputs) Reset() {
*x = KzipInfo_CorpusInfo_RequiredInputs{}
if protoimpl.UnsafeEnabled {
mi := &file_kythe_proto_analysis_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *KzipInfo_CorpusInfo_RequiredInputs) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*KzipInfo_CorpusInfo_RequiredInputs) ProtoMessage() {}
func (x *KzipInfo_CorpusInfo_RequiredInputs) ProtoReflect() protoreflect.Message {
mi := &file_kythe_proto_analysis_proto_msgTypes[15]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use KzipInfo_CorpusInfo_RequiredInputs.ProtoReflect.Descriptor instead.
func (*KzipInfo_CorpusInfo_RequiredInputs) Descriptor() ([]byte, []int) {
return file_kythe_proto_analysis_proto_rawDescGZIP(), []int{4, 0, 0}
}
func (x *KzipInfo_CorpusInfo_RequiredInputs) GetCount() int32 {
if x != nil {
return x.Count
}
return 0
}
type IndexedCompilation_Index struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Revision markers at which this compilation record is indexed.
Revisions []string `protobuf:"bytes,1,rep,name=revisions,proto3" json:"revisions,omitempty"`
}
func (x *IndexedCompilation_Index) Reset() {
*x = IndexedCompilation_Index{}
if protoimpl.UnsafeEnabled {
mi := &file_kythe_proto_analysis_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *IndexedCompilation_Index) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*IndexedCompilation_Index) ProtoMessage() {}
func (x *IndexedCompilation_Index) ProtoReflect() protoreflect.Message {
mi := &file_kythe_proto_analysis_proto_msgTypes[18]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use IndexedCompilation_Index.ProtoReflect.Descriptor instead.
func (*IndexedCompilation_Index) Descriptor() ([]byte, []int) {
return file_kythe_proto_analysis_proto_rawDescGZIP(), []int{10, 0}
}
func (x *IndexedCompilation_Index) GetRevisions() []string {
if x != nil {
return x.Revisions
}
return nil
}
var File_kythe_proto_analysis_proto protoreflect.FileDescriptor
var file_kythe_proto_analysis_proto_rawDesc = []byte{
0x0a, 0x1a, 0x6b, 0x79, 0x74, 0x68, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x61, 0x6e,
0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0b, 0x6b, 0x79,
0x74, 0x68, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x6b, 0x79, 0x74, 0x68, 0x65, 0x2f, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x22, 0xb4, 0x01, 0x0a, 0x0f, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6b, 0x79, 0x74, 0x68,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x55, 0x6e, 0x69, 0x74, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x11, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x64, 0x61, 0x74,
0x61, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0f, 0x66, 0x69, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01,
0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08,
0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
0x62, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x22, 0x66, 0x0a, 0x0e, 0x41, 0x6e, 0x61, 0x6c, 0x79,
0x73, 0x69, 0x73, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12,
0x3e, 0x0a, 0x0c, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18,
0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6b, 0x79, 0x74, 0x68, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x75,
0x6c, 0x74, 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22,
0xa3, 0x01, 0x0a, 0x0e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x75,
0x6c, 0x74, 0x12, 0x3a, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01,
0x28, 0x0e, 0x32, 0x22, 0x2e, 0x6b, 0x79, 0x74, 0x68, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e,
0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18,
0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x22, 0x3b, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74,
0x75, 0x73, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x00,
0x12, 0x0e, 0x0a, 0x0a, 0x49, 0x4e, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x01,
0x12, 0x13, 0x0a, 0x0f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x52, 0x45, 0x51, 0x55,
0x45, 0x53, 0x54, 0x10, 0x02, 0x22, 0xac, 0x05, 0x0a, 0x0f, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x29, 0x0a, 0x06, 0x76, 0x5f, 0x6e,
0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6b, 0x79, 0x74, 0x68,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x05, 0x76,
0x4e, 0x61, 0x6d, 0x65, 0x12, 0x4d, 0x0a, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64,
0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6b,
0x79, 0x74, 0x68, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x69,
0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x6e, 0x69, 0x74, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x49,
0x6e, 0x70, 0x75, 0x74, 0x52, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x49, 0x6e,
0x70, 0x75, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x68, 0x61, 0x73, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x69,
0x6c, 0x65, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52,
0x10, 0x68, 0x61, 0x73, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72,
0x73, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20,
0x03, 0x28, 0x09, 0x52, 0x08, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1f, 0x0a,
0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x03,
0x28, 0x09, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x1d,
0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x07, 0x20, 0x01,
0x28, 0x09, 0x52, 0x09, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x2b, 0x0a,
0x11, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f,
0x72, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e,
0x67, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6e,
0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0c, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12,
0x42, 0x0a, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x0a,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6b, 0x79, 0x74, 0x68, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x6e,
0x69, 0x74, 0x2e, 0x45, 0x6e, 0x76, 0x52, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d,
0x65, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x0b,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61,
0x69, 0x6c, 0x73, 0x1a, 0x97, 0x01, 0x0a, 0x09, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x70, 0x75,
0x74, 0x12, 0x29, 0x0a, 0x06, 0x76, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x12, 0x2e, 0x6b, 0x79, 0x74, 0x68, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
0x56, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x05, 0x76, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x04,
0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6b, 0x79, 0x74,
0x68, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66,
0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x2e, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69,
0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x07,
0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x1a, 0x2f, 0x0a,
0x03, 0x45, 0x6e, 0x76, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x4a, 0x04,
0x08, 0x02, 0x10, 0x03, 0x22, 0x8c, 0x06, 0x0a, 0x08, 0x4b, 0x7a, 0x69, 0x70, 0x49, 0x6e, 0x66,
0x6f, 0x12, 0x3c, 0x0a, 0x07, 0x63, 0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 0x18, 0x01, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6b, 0x79, 0x74, 0x68, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x2e, 0x4b, 0x7a, 0x69, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x6f, 0x72, 0x70, 0x6f, 0x72,
0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x63, 0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 0x12,
0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73,
0x69, 0x7a, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x63, 0x72, 0x69, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x5f,
0x6b, 0x7a, 0x69, 0x70, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28,
0x09, 0x52, 0x12, 0x63, 0x72, 0x69, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x4b, 0x7a, 0x69, 0x70, 0x45,
0x72, 0x72, 0x6f, 0x72, 0x73, 0x1a, 0x91, 0x04, 0x0a, 0x0a, 0x43, 0x6f, 0x72, 0x70, 0x75, 0x73,
0x49, 0x6e, 0x66, 0x6f, 0x12, 0x76, 0x0a, 0x18, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65,
0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73,
0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x6b, 0x79, 0x74, 0x68, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4b, 0x7a, 0x69, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x6f,
0x72, 0x70, 0x75, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67,
0x65, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x52, 0x16, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x52, 0x65,
0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x12, 0x60, 0x0a, 0x10,
0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73,
0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x6b, 0x79, 0x74, 0x68, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4b, 0x7a, 0x69, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x6f,
0x72, 0x70, 0x75, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67,
0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x6c,
0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x1a, 0x26,
0x0a, 0x0e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73,
0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52,
0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x7a, 0x0a, 0x1b, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61,
0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x45, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6b, 0x79, 0x74, 0x68, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4b, 0x7a, 0x69, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x6f,
0x72, 0x70, 0x75, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65,
0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
0x38, 0x01, 0x1a, 0x73, 0x0a, 0x14, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x53, 0x6f,
0x75, 0x72, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x45, 0x0a, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6b, 0x79,
0x74, 0x68, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4b, 0x7a, 0x69, 0x70, 0x49, 0x6e,
0x66, 0x6f, 0x2e, 0x43, 0x6f, 0x72, 0x70, 0x75, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x52, 0x65,
0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x52, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x4a, 0x04, 0x08,
0x02, 0x10, 0x03, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x1a, 0x5c, 0x0a, 0x0c, 0x43, 0x6f, 0x72,
0x70, 0x6f, 0x72, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x36, 0x0a, 0x05, 0x76,
0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6b, 0x79, 0x74,
0x68, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4b, 0x7a, 0x69, 0x70, 0x49, 0x6e, 0x66,
0x6f, 0x2e, 0x43, 0x6f, 0x72, 0x70, 0x75, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x4a, 0x04, 0x08,
0x03, 0x10, 0x04, 0x22, 0x56, 0x0a, 0x0d, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x74, 0x61,
0x64, 0x61, 0x74, 0x61, 0x12, 0x45, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x74,
0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x6d,
0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x3b, 0x0a, 0x0c, 0x46,
0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x05, 0x66,
0x69, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6b, 0x79, 0x74,
0x68, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66,
0x6f, 0x52, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x22, 0x36, 0x0a, 0x08, 0x46, 0x69, 0x6c, 0x65,
0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x69, 0x67, 0x65,
0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74,
0x22, 0x69, 0x0a, 0x08, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07,
0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63,
0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x29, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6b, 0x79, 0x74, 0x68, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66,
0x6f, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01,
0x28, 0x08, 0x52, 0x07, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x22, 0x72, 0x0a, 0x11, 0x43,
0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65,
0x12, 0x30, 0x0a, 0x04, 0x75, 0x6e, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c,
0x2e, 0x6b, 0x79, 0x74, 0x68, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6d,
0x70, 0x69, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x6e, 0x69, 0x74, 0x52, 0x04, 0x75, 0x6e,
0x69, 0x74, 0x12, 0x2b, 0x0a, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x15, 0x2e, 0x6b, 0x79, 0x74, 0x68, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
0x46, 0x69, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x22,
0xaa, 0x01, 0x0a, 0x12, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x69,
0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x04, 0x75, 0x6e, 0x69, 0x74, 0x18, 0x01,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6b, 0x79, 0x74, 0x68, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x6e,
0x69, 0x74, 0x52, 0x04, 0x75, 0x6e, 0x69, 0x74, 0x12, 0x3b, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65,
0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6b, 0x79, 0x74, 0x68, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x64, 0x43, 0x6f, 0x6d,
0x70, 0x69, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x05,
0x69, 0x6e, 0x64, 0x65, 0x78, 0x1a, 0x25, 0x0a, 0x05, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1c,
0x0a, 0x09, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
0x09, 0x52, 0x09, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x49, 0x0a, 0x1f,
0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f,
0x6f, 0x6c, 0x73, 0x2e, 0x6b, 0x79, 0x74, 0x68, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x5a,
0x23, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2f, 0x63, 0x6d, 0x64, 0x2f, 0x70, 0x61, 0x63, 0x6b, 0x61,
0x67, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2f, 0x6b, 0x79, 0x74, 0x68, 0x65, 0x2f, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0xf8, 0x01, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_kythe_proto_analysis_proto_rawDescOnce sync.Once
file_kythe_proto_analysis_proto_rawDescData = file_kythe_proto_analysis_proto_rawDesc
)
func file_kythe_proto_analysis_proto_rawDescGZIP() []byte {
file_kythe_proto_analysis_proto_rawDescOnce.Do(func() {
file_kythe_proto_analysis_proto_rawDescData = protoimpl.X.CompressGZIP(file_kythe_proto_analysis_proto_rawDescData)
})
return file_kythe_proto_analysis_proto_rawDescData
}
var file_kythe_proto_analysis_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_kythe_proto_analysis_proto_msgTypes = make([]protoimpl.MessageInfo, 19)
var file_kythe_proto_analysis_proto_goTypes = []interface{}{
(AnalysisResult_Status)(0), // 0: kythe.proto.AnalysisResult.Status
(*AnalysisRequest)(nil), // 1: kythe.proto.AnalysisRequest
(*AnalysisOutput)(nil), // 2: kythe.proto.AnalysisOutput
(*AnalysisResult)(nil), // 3: kythe.proto.AnalysisResult
(*CompilationUnit)(nil), // 4: kythe.proto.CompilationUnit
(*KzipInfo)(nil), // 5: kythe.proto.KzipInfo
(*BuildMetadata)(nil), // 6: kythe.proto.BuildMetadata
(*FilesRequest)(nil), // 7: kythe.proto.FilesRequest
(*FileInfo)(nil), // 8: kythe.proto.FileInfo
(*FileData)(nil), // 9: kythe.proto.FileData
(*CompilationBundle)(nil), // 10: kythe.proto.CompilationBundle
(*IndexedCompilation)(nil), // 11: kythe.proto.IndexedCompilation
(*CompilationUnit_FileInput)(nil), // 12: kythe.proto.CompilationUnit.FileInput
(*CompilationUnit_Env)(nil), // 13: kythe.proto.CompilationUnit.Env
(*KzipInfo_CorpusInfo)(nil), // 14: kythe.proto.KzipInfo.CorpusInfo
nil, // 15: kythe.proto.KzipInfo.CorporaEntry
(*KzipInfo_CorpusInfo_RequiredInputs)(nil), // 16: kythe.proto.KzipInfo.CorpusInfo.RequiredInputs
nil, // 17: kythe.proto.KzipInfo.CorpusInfo.LanguageRequiredInputsEntry
nil, // 18: kythe.proto.KzipInfo.CorpusInfo.LanguageSourcesEntry
(*IndexedCompilation_Index)(nil), // 19: kythe.proto.IndexedCompilation.Index
(*VName)(nil), // 20: kythe.proto.VName
(*any.Any)(nil), // 21: google.protobuf.Any
(*timestamp.Timestamp)(nil), // 22: google.protobuf.Timestamp
}
var file_kythe_proto_analysis_proto_depIdxs = []int32{
4, // 0: kythe.proto.AnalysisRequest.compilation:type_name -> kythe.proto.CompilationUnit
3, // 1: kythe.proto.AnalysisOutput.final_result:type_name -> kythe.proto.AnalysisResult
0, // 2: kythe.proto.AnalysisResult.status:type_name -> kythe.proto.AnalysisResult.Status
20, // 3: kythe.proto.CompilationUnit.v_name:type_name -> kythe.proto.VName
12, // 4: kythe.proto.CompilationUnit.required_input:type_name -> kythe.proto.CompilationUnit.FileInput
13, // 5: kythe.proto.CompilationUnit.environment:type_name -> kythe.proto.CompilationUnit.Env
21, // 6: kythe.proto.CompilationUnit.details:type_name -> google.protobuf.Any
15, // 7: kythe.proto.KzipInfo.corpora:type_name -> kythe.proto.KzipInfo.CorporaEntry
22, // 8: kythe.proto.BuildMetadata.commit_timestamp:type_name -> google.protobuf.Timestamp
8, // 9: kythe.proto.FilesRequest.files:type_name -> kythe.proto.FileInfo
8, // 10: kythe.proto.FileData.info:type_name -> kythe.proto.FileInfo
4, // 11: kythe.proto.CompilationBundle.unit:type_name -> kythe.proto.CompilationUnit
9, // 12: kythe.proto.CompilationBundle.files:type_name -> kythe.proto.FileData
4, // 13: kythe.proto.IndexedCompilation.unit:type_name -> kythe.proto.CompilationUnit
19, // 14: kythe.proto.IndexedCompilation.index:type_name -> kythe.proto.IndexedCompilation.Index
20, // 15: kythe.proto.CompilationUnit.FileInput.v_name:type_name -> kythe.proto.VName
8, // 16: kythe.proto.CompilationUnit.FileInput.info:type_name -> kythe.proto.FileInfo
21, // 17: kythe.proto.CompilationUnit.FileInput.details:type_name -> google.protobuf.Any
17, // 18: kythe.proto.KzipInfo.CorpusInfo.language_required_inputs:type_name -> kythe.proto.KzipInfo.CorpusInfo.LanguageRequiredInputsEntry
18, // 19: kythe.proto.KzipInfo.CorpusInfo.language_sources:type_name -> kythe.proto.KzipInfo.CorpusInfo.LanguageSourcesEntry
14, // 20: kythe.proto.KzipInfo.CorporaEntry.value:type_name -> kythe.proto.KzipInfo.CorpusInfo
16, // 21: kythe.proto.KzipInfo.CorpusInfo.LanguageRequiredInputsEntry.value:type_name -> kythe.proto.KzipInfo.CorpusInfo.RequiredInputs
16, // 22: kythe.proto.KzipInfo.CorpusInfo.LanguageSourcesEntry.value:type_name -> kythe.proto.KzipInfo.CorpusInfo.RequiredInputs
23, // [23:23] is the sub-list for method output_type
23, // [23:23] is the sub-list for method input_type
23, // [23:23] is the sub-list for extension type_name
23, // [23:23] is the sub-list for extension extendee
0, // [0:23] is the sub-list for field type_name
}
func init() { file_kythe_proto_analysis_proto_init() }
func file_kythe_proto_analysis_proto_init() {
if File_kythe_proto_analysis_proto != nil {
return
}
file_kythe_proto_storage_proto_init()
if !protoimpl.UnsafeEnabled {
file_kythe_proto_analysis_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AnalysisRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_kythe_proto_analysis_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AnalysisOutput); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_kythe_proto_analysis_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AnalysisResult); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_kythe_proto_analysis_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CompilationUnit); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_kythe_proto_analysis_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*KzipInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_kythe_proto_analysis_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*BuildMetadata); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_kythe_proto_analysis_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FilesRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_kythe_proto_analysis_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FileInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_kythe_proto_analysis_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FileData); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_kythe_proto_analysis_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CompilationBundle); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_kythe_proto_analysis_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*IndexedCompilation); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_kythe_proto_analysis_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CompilationUnit_FileInput); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_kythe_proto_analysis_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CompilationUnit_Env); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_kythe_proto_analysis_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*KzipInfo_CorpusInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_kythe_proto_analysis_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*KzipInfo_CorpusInfo_RequiredInputs); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_kythe_proto_analysis_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*IndexedCompilation_Index); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_kythe_proto_analysis_proto_rawDesc,
NumEnums: 1,
NumMessages: 19,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_kythe_proto_analysis_proto_goTypes,
DependencyIndexes: file_kythe_proto_analysis_proto_depIdxs,
EnumInfos: file_kythe_proto_analysis_proto_enumTypes,
MessageInfos: file_kythe_proto_analysis_proto_msgTypes,
}.Build()
File_kythe_proto_analysis_proto = out.File
file_kythe_proto_analysis_proto_rawDesc = nil
file_kythe_proto_analysis_proto_goTypes = nil
file_kythe_proto_analysis_proto_depIdxs = nil
}