1// Copyright 2019 Google LLC.
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14//
15
16// Code generated by protoc-gen-go. DO NOT EDIT.
17// versions:
18// 	protoc-gen-go v1.22.0
19// 	protoc        v3.11.2
20// source: google/api/expr/v1beta1/expr.proto
21
22package expr
23
24import (
25	reflect "reflect"
26	sync "sync"
27
28	proto "github.com/golang/protobuf/proto"
29	_struct "github.com/golang/protobuf/ptypes/struct"
30	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
31	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
32)
33
34const (
35	// Verify that this generated code is sufficiently up-to-date.
36	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
37	// Verify that runtime/protoimpl is sufficiently up-to-date.
38	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
39)
40
41// This is a compile-time assertion that a sufficiently up-to-date version
42// of the legacy proto package is being used.
43const _ = proto.ProtoPackageIsVersion4
44
45// An expression together with source information as returned by the parser.
46type ParsedExpr struct {
47	state         protoimpl.MessageState
48	sizeCache     protoimpl.SizeCache
49	unknownFields protoimpl.UnknownFields
50
51	// The parsed expression.
52	Expr *Expr `protobuf:"bytes,2,opt,name=expr,proto3" json:"expr,omitempty"`
53	// The source info derived from input that generated the parsed `expr`.
54	SourceInfo *SourceInfo `protobuf:"bytes,3,opt,name=source_info,json=sourceInfo,proto3" json:"source_info,omitempty"`
55	// The syntax version of the source, e.g. `cel1`.
56	SyntaxVersion string `protobuf:"bytes,4,opt,name=syntax_version,json=syntaxVersion,proto3" json:"syntax_version,omitempty"`
57}
58
59func (x *ParsedExpr) Reset() {
60	*x = ParsedExpr{}
61	if protoimpl.UnsafeEnabled {
62		mi := &file_google_api_expr_v1beta1_expr_proto_msgTypes[0]
63		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
64		ms.StoreMessageInfo(mi)
65	}
66}
67
68func (x *ParsedExpr) String() string {
69	return protoimpl.X.MessageStringOf(x)
70}
71
72func (*ParsedExpr) ProtoMessage() {}
73
74func (x *ParsedExpr) ProtoReflect() protoreflect.Message {
75	mi := &file_google_api_expr_v1beta1_expr_proto_msgTypes[0]
76	if protoimpl.UnsafeEnabled && x != nil {
77		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
78		if ms.LoadMessageInfo() == nil {
79			ms.StoreMessageInfo(mi)
80		}
81		return ms
82	}
83	return mi.MessageOf(x)
84}
85
86// Deprecated: Use ParsedExpr.ProtoReflect.Descriptor instead.
87func (*ParsedExpr) Descriptor() ([]byte, []int) {
88	return file_google_api_expr_v1beta1_expr_proto_rawDescGZIP(), []int{0}
89}
90
91func (x *ParsedExpr) GetExpr() *Expr {
92	if x != nil {
93		return x.Expr
94	}
95	return nil
96}
97
98func (x *ParsedExpr) GetSourceInfo() *SourceInfo {
99	if x != nil {
100		return x.SourceInfo
101	}
102	return nil
103}
104
105func (x *ParsedExpr) GetSyntaxVersion() string {
106	if x != nil {
107		return x.SyntaxVersion
108	}
109	return ""
110}
111
112// An abstract representation of a common expression.
113//
114// Expressions are abstractly represented as a collection of identifiers,
115// select statements, function calls, literals, and comprehensions. All
116// operators with the exception of the '.' operator are modelled as function
117// calls. This makes it easy to represent new operators into the existing AST.
118//
119// All references within expressions must resolve to a [Decl][google.api.expr.v1beta1.Decl] provided at
120// type-check for an expression to be valid. A reference may either be a bare
121// identifier `name` or a qualified identifier `google.api.name`. References
122// may either refer to a value or a function declaration.
123//
124// For example, the expression `google.api.name.startsWith('expr')` references
125// the declaration `google.api.name` within a [Expr.Select][google.api.expr.v1beta1.Expr.Select] expression, and
126// the function declaration `startsWith`.
127type Expr struct {
128	state         protoimpl.MessageState
129	sizeCache     protoimpl.SizeCache
130	unknownFields protoimpl.UnknownFields
131
132	// Required. An id assigned to this node by the parser which is unique in a
133	// given expression tree. This is used to associate type information and other
134	// attributes to a node in the parse tree.
135	Id int32 `protobuf:"varint,2,opt,name=id,proto3" json:"id,omitempty"`
136	// Required. Variants of expressions.
137	//
138	// Types that are assignable to ExprKind:
139	//	*Expr_LiteralExpr
140	//	*Expr_IdentExpr
141	//	*Expr_SelectExpr
142	//	*Expr_CallExpr
143	//	*Expr_ListExpr
144	//	*Expr_StructExpr
145	//	*Expr_ComprehensionExpr
146	ExprKind isExpr_ExprKind `protobuf_oneof:"expr_kind"`
147}
148
149func (x *Expr) Reset() {
150	*x = Expr{}
151	if protoimpl.UnsafeEnabled {
152		mi := &file_google_api_expr_v1beta1_expr_proto_msgTypes[1]
153		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
154		ms.StoreMessageInfo(mi)
155	}
156}
157
158func (x *Expr) String() string {
159	return protoimpl.X.MessageStringOf(x)
160}
161
162func (*Expr) ProtoMessage() {}
163
164func (x *Expr) ProtoReflect() protoreflect.Message {
165	mi := &file_google_api_expr_v1beta1_expr_proto_msgTypes[1]
166	if protoimpl.UnsafeEnabled && x != nil {
167		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
168		if ms.LoadMessageInfo() == nil {
169			ms.StoreMessageInfo(mi)
170		}
171		return ms
172	}
173	return mi.MessageOf(x)
174}
175
176// Deprecated: Use Expr.ProtoReflect.Descriptor instead.
177func (*Expr) Descriptor() ([]byte, []int) {
178	return file_google_api_expr_v1beta1_expr_proto_rawDescGZIP(), []int{1}
179}
180
181func (x *Expr) GetId() int32 {
182	if x != nil {
183		return x.Id
184	}
185	return 0
186}
187
188func (m *Expr) GetExprKind() isExpr_ExprKind {
189	if m != nil {
190		return m.ExprKind
191	}
192	return nil
193}
194
195func (x *Expr) GetLiteralExpr() *Literal {
196	if x, ok := x.GetExprKind().(*Expr_LiteralExpr); ok {
197		return x.LiteralExpr
198	}
199	return nil
200}
201
202func (x *Expr) GetIdentExpr() *Expr_Ident {
203	if x, ok := x.GetExprKind().(*Expr_IdentExpr); ok {
204		return x.IdentExpr
205	}
206	return nil
207}
208
209func (x *Expr) GetSelectExpr() *Expr_Select {
210	if x, ok := x.GetExprKind().(*Expr_SelectExpr); ok {
211		return x.SelectExpr
212	}
213	return nil
214}
215
216func (x *Expr) GetCallExpr() *Expr_Call {
217	if x, ok := x.GetExprKind().(*Expr_CallExpr); ok {
218		return x.CallExpr
219	}
220	return nil
221}
222
223func (x *Expr) GetListExpr() *Expr_CreateList {
224	if x, ok := x.GetExprKind().(*Expr_ListExpr); ok {
225		return x.ListExpr
226	}
227	return nil
228}
229
230func (x *Expr) GetStructExpr() *Expr_CreateStruct {
231	if x, ok := x.GetExprKind().(*Expr_StructExpr); ok {
232		return x.StructExpr
233	}
234	return nil
235}
236
237func (x *Expr) GetComprehensionExpr() *Expr_Comprehension {
238	if x, ok := x.GetExprKind().(*Expr_ComprehensionExpr); ok {
239		return x.ComprehensionExpr
240	}
241	return nil
242}
243
244type isExpr_ExprKind interface {
245	isExpr_ExprKind()
246}
247
248type Expr_LiteralExpr struct {
249	// A literal expression.
250	LiteralExpr *Literal `protobuf:"bytes,3,opt,name=literal_expr,json=literalExpr,proto3,oneof"`
251}
252
253type Expr_IdentExpr struct {
254	// An identifier expression.
255	IdentExpr *Expr_Ident `protobuf:"bytes,4,opt,name=ident_expr,json=identExpr,proto3,oneof"`
256}
257
258type Expr_SelectExpr struct {
259	// A field selection expression, e.g. `request.auth`.
260	SelectExpr *Expr_Select `protobuf:"bytes,5,opt,name=select_expr,json=selectExpr,proto3,oneof"`
261}
262
263type Expr_CallExpr struct {
264	// A call expression, including calls to predefined functions and operators.
265	CallExpr *Expr_Call `protobuf:"bytes,6,opt,name=call_expr,json=callExpr,proto3,oneof"`
266}
267
268type Expr_ListExpr struct {
269	// A list creation expression.
270	ListExpr *Expr_CreateList `protobuf:"bytes,7,opt,name=list_expr,json=listExpr,proto3,oneof"`
271}
272
273type Expr_StructExpr struct {
274	// A map or object creation expression.
275	StructExpr *Expr_CreateStruct `protobuf:"bytes,8,opt,name=struct_expr,json=structExpr,proto3,oneof"`
276}
277
278type Expr_ComprehensionExpr struct {
279	// A comprehension expression.
280	ComprehensionExpr *Expr_Comprehension `protobuf:"bytes,9,opt,name=comprehension_expr,json=comprehensionExpr,proto3,oneof"`
281}
282
283func (*Expr_LiteralExpr) isExpr_ExprKind() {}
284
285func (*Expr_IdentExpr) isExpr_ExprKind() {}
286
287func (*Expr_SelectExpr) isExpr_ExprKind() {}
288
289func (*Expr_CallExpr) isExpr_ExprKind() {}
290
291func (*Expr_ListExpr) isExpr_ExprKind() {}
292
293func (*Expr_StructExpr) isExpr_ExprKind() {}
294
295func (*Expr_ComprehensionExpr) isExpr_ExprKind() {}
296
297// Represents a primitive literal.
298//
299// This is similar to the primitives supported in the well-known type
300// `google.protobuf.Value`, but richer so it can represent CEL's full range of
301// primitives.
302//
303// Lists and structs are not included as constants as these aggregate types may
304// contain [Expr][google.api.expr.v1beta1.Expr] elements which require evaluation and are thus not constant.
305//
306// Examples of literals include: `"hello"`, `b'bytes'`, `1u`, `4.2`, `-2`,
307// `true`, `null`.
308type Literal struct {
309	state         protoimpl.MessageState
310	sizeCache     protoimpl.SizeCache
311	unknownFields protoimpl.UnknownFields
312
313	// Required. The valid constant kinds.
314	//
315	// Types that are assignable to ConstantKind:
316	//	*Literal_NullValue
317	//	*Literal_BoolValue
318	//	*Literal_Int64Value
319	//	*Literal_Uint64Value
320	//	*Literal_DoubleValue
321	//	*Literal_StringValue
322	//	*Literal_BytesValue
323	ConstantKind isLiteral_ConstantKind `protobuf_oneof:"constant_kind"`
324}
325
326func (x *Literal) Reset() {
327	*x = Literal{}
328	if protoimpl.UnsafeEnabled {
329		mi := &file_google_api_expr_v1beta1_expr_proto_msgTypes[2]
330		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
331		ms.StoreMessageInfo(mi)
332	}
333}
334
335func (x *Literal) String() string {
336	return protoimpl.X.MessageStringOf(x)
337}
338
339func (*Literal) ProtoMessage() {}
340
341func (x *Literal) ProtoReflect() protoreflect.Message {
342	mi := &file_google_api_expr_v1beta1_expr_proto_msgTypes[2]
343	if protoimpl.UnsafeEnabled && x != nil {
344		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
345		if ms.LoadMessageInfo() == nil {
346			ms.StoreMessageInfo(mi)
347		}
348		return ms
349	}
350	return mi.MessageOf(x)
351}
352
353// Deprecated: Use Literal.ProtoReflect.Descriptor instead.
354func (*Literal) Descriptor() ([]byte, []int) {
355	return file_google_api_expr_v1beta1_expr_proto_rawDescGZIP(), []int{2}
356}
357
358func (m *Literal) GetConstantKind() isLiteral_ConstantKind {
359	if m != nil {
360		return m.ConstantKind
361	}
362	return nil
363}
364
365func (x *Literal) GetNullValue() _struct.NullValue {
366	if x, ok := x.GetConstantKind().(*Literal_NullValue); ok {
367		return x.NullValue
368	}
369	return _struct.NullValue_NULL_VALUE
370}
371
372func (x *Literal) GetBoolValue() bool {
373	if x, ok := x.GetConstantKind().(*Literal_BoolValue); ok {
374		return x.BoolValue
375	}
376	return false
377}
378
379func (x *Literal) GetInt64Value() int64 {
380	if x, ok := x.GetConstantKind().(*Literal_Int64Value); ok {
381		return x.Int64Value
382	}
383	return 0
384}
385
386func (x *Literal) GetUint64Value() uint64 {
387	if x, ok := x.GetConstantKind().(*Literal_Uint64Value); ok {
388		return x.Uint64Value
389	}
390	return 0
391}
392
393func (x *Literal) GetDoubleValue() float64 {
394	if x, ok := x.GetConstantKind().(*Literal_DoubleValue); ok {
395		return x.DoubleValue
396	}
397	return 0
398}
399
400func (x *Literal) GetStringValue() string {
401	if x, ok := x.GetConstantKind().(*Literal_StringValue); ok {
402		return x.StringValue
403	}
404	return ""
405}
406
407func (x *Literal) GetBytesValue() []byte {
408	if x, ok := x.GetConstantKind().(*Literal_BytesValue); ok {
409		return x.BytesValue
410	}
411	return nil
412}
413
414type isLiteral_ConstantKind interface {
415	isLiteral_ConstantKind()
416}
417
418type Literal_NullValue struct {
419	// null value.
420	NullValue _struct.NullValue `protobuf:"varint,1,opt,name=null_value,json=nullValue,proto3,enum=google.protobuf.NullValue,oneof"`
421}
422
423type Literal_BoolValue struct {
424	// boolean value.
425	BoolValue bool `protobuf:"varint,2,opt,name=bool_value,json=boolValue,proto3,oneof"`
426}
427
428type Literal_Int64Value struct {
429	// int64 value.
430	Int64Value int64 `protobuf:"varint,3,opt,name=int64_value,json=int64Value,proto3,oneof"`
431}
432
433type Literal_Uint64Value struct {
434	// uint64 value.
435	Uint64Value uint64 `protobuf:"varint,4,opt,name=uint64_value,json=uint64Value,proto3,oneof"`
436}
437
438type Literal_DoubleValue struct {
439	// double value.
440	DoubleValue float64 `protobuf:"fixed64,5,opt,name=double_value,json=doubleValue,proto3,oneof"`
441}
442
443type Literal_StringValue struct {
444	// string value.
445	StringValue string `protobuf:"bytes,6,opt,name=string_value,json=stringValue,proto3,oneof"`
446}
447
448type Literal_BytesValue struct {
449	// bytes value.
450	BytesValue []byte `protobuf:"bytes,7,opt,name=bytes_value,json=bytesValue,proto3,oneof"`
451}
452
453func (*Literal_NullValue) isLiteral_ConstantKind() {}
454
455func (*Literal_BoolValue) isLiteral_ConstantKind() {}
456
457func (*Literal_Int64Value) isLiteral_ConstantKind() {}
458
459func (*Literal_Uint64Value) isLiteral_ConstantKind() {}
460
461func (*Literal_DoubleValue) isLiteral_ConstantKind() {}
462
463func (*Literal_StringValue) isLiteral_ConstantKind() {}
464
465func (*Literal_BytesValue) isLiteral_ConstantKind() {}
466
467// An identifier expression. e.g. `request`.
468type Expr_Ident struct {
469	state         protoimpl.MessageState
470	sizeCache     protoimpl.SizeCache
471	unknownFields protoimpl.UnknownFields
472
473	// Required. Holds a single, unqualified identifier, possibly preceded by a
474	// '.'.
475	//
476	// Qualified names are represented by the [Expr.Select][google.api.expr.v1beta1.Expr.Select] expression.
477	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
478}
479
480func (x *Expr_Ident) Reset() {
481	*x = Expr_Ident{}
482	if protoimpl.UnsafeEnabled {
483		mi := &file_google_api_expr_v1beta1_expr_proto_msgTypes[3]
484		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
485		ms.StoreMessageInfo(mi)
486	}
487}
488
489func (x *Expr_Ident) String() string {
490	return protoimpl.X.MessageStringOf(x)
491}
492
493func (*Expr_Ident) ProtoMessage() {}
494
495func (x *Expr_Ident) ProtoReflect() protoreflect.Message {
496	mi := &file_google_api_expr_v1beta1_expr_proto_msgTypes[3]
497	if protoimpl.UnsafeEnabled && x != nil {
498		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
499		if ms.LoadMessageInfo() == nil {
500			ms.StoreMessageInfo(mi)
501		}
502		return ms
503	}
504	return mi.MessageOf(x)
505}
506
507// Deprecated: Use Expr_Ident.ProtoReflect.Descriptor instead.
508func (*Expr_Ident) Descriptor() ([]byte, []int) {
509	return file_google_api_expr_v1beta1_expr_proto_rawDescGZIP(), []int{1, 0}
510}
511
512func (x *Expr_Ident) GetName() string {
513	if x != nil {
514		return x.Name
515	}
516	return ""
517}
518
519// A field selection expression. e.g. `request.auth`.
520type Expr_Select struct {
521	state         protoimpl.MessageState
522	sizeCache     protoimpl.SizeCache
523	unknownFields protoimpl.UnknownFields
524
525	// Required. The target of the selection expression.
526	//
527	// For example, in the select expression `request.auth`, the `request`
528	// portion of the expression is the `operand`.
529	Operand *Expr `protobuf:"bytes,1,opt,name=operand,proto3" json:"operand,omitempty"`
530	// Required. The name of the field to select.
531	//
532	// For example, in the select expression `request.auth`, the `auth` portion
533	// of the expression would be the `field`.
534	Field string `protobuf:"bytes,2,opt,name=field,proto3" json:"field,omitempty"`
535	// Whether the select is to be interpreted as a field presence test.
536	//
537	// This results from the macro `has(request.auth)`.
538	TestOnly bool `protobuf:"varint,3,opt,name=test_only,json=testOnly,proto3" json:"test_only,omitempty"`
539}
540
541func (x *Expr_Select) Reset() {
542	*x = Expr_Select{}
543	if protoimpl.UnsafeEnabled {
544		mi := &file_google_api_expr_v1beta1_expr_proto_msgTypes[4]
545		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
546		ms.StoreMessageInfo(mi)
547	}
548}
549
550func (x *Expr_Select) String() string {
551	return protoimpl.X.MessageStringOf(x)
552}
553
554func (*Expr_Select) ProtoMessage() {}
555
556func (x *Expr_Select) ProtoReflect() protoreflect.Message {
557	mi := &file_google_api_expr_v1beta1_expr_proto_msgTypes[4]
558	if protoimpl.UnsafeEnabled && x != nil {
559		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
560		if ms.LoadMessageInfo() == nil {
561			ms.StoreMessageInfo(mi)
562		}
563		return ms
564	}
565	return mi.MessageOf(x)
566}
567
568// Deprecated: Use Expr_Select.ProtoReflect.Descriptor instead.
569func (*Expr_Select) Descriptor() ([]byte, []int) {
570	return file_google_api_expr_v1beta1_expr_proto_rawDescGZIP(), []int{1, 1}
571}
572
573func (x *Expr_Select) GetOperand() *Expr {
574	if x != nil {
575		return x.Operand
576	}
577	return nil
578}
579
580func (x *Expr_Select) GetField() string {
581	if x != nil {
582		return x.Field
583	}
584	return ""
585}
586
587func (x *Expr_Select) GetTestOnly() bool {
588	if x != nil {
589		return x.TestOnly
590	}
591	return false
592}
593
594// A call expression, including calls to predefined functions and operators.
595//
596// For example, `value == 10`, `size(map_value)`.
597type Expr_Call struct {
598	state         protoimpl.MessageState
599	sizeCache     protoimpl.SizeCache
600	unknownFields protoimpl.UnknownFields
601
602	// The target of an method call-style expression. For example, `x` in
603	// `x.f()`.
604	Target *Expr `protobuf:"bytes,1,opt,name=target,proto3" json:"target,omitempty"`
605	// Required. The name of the function or method being called.
606	Function string `protobuf:"bytes,2,opt,name=function,proto3" json:"function,omitempty"`
607	// The arguments.
608	Args []*Expr `protobuf:"bytes,3,rep,name=args,proto3" json:"args,omitempty"`
609}
610
611func (x *Expr_Call) Reset() {
612	*x = Expr_Call{}
613	if protoimpl.UnsafeEnabled {
614		mi := &file_google_api_expr_v1beta1_expr_proto_msgTypes[5]
615		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
616		ms.StoreMessageInfo(mi)
617	}
618}
619
620func (x *Expr_Call) String() string {
621	return protoimpl.X.MessageStringOf(x)
622}
623
624func (*Expr_Call) ProtoMessage() {}
625
626func (x *Expr_Call) ProtoReflect() protoreflect.Message {
627	mi := &file_google_api_expr_v1beta1_expr_proto_msgTypes[5]
628	if protoimpl.UnsafeEnabled && x != nil {
629		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
630		if ms.LoadMessageInfo() == nil {
631			ms.StoreMessageInfo(mi)
632		}
633		return ms
634	}
635	return mi.MessageOf(x)
636}
637
638// Deprecated: Use Expr_Call.ProtoReflect.Descriptor instead.
639func (*Expr_Call) Descriptor() ([]byte, []int) {
640	return file_google_api_expr_v1beta1_expr_proto_rawDescGZIP(), []int{1, 2}
641}
642
643func (x *Expr_Call) GetTarget() *Expr {
644	if x != nil {
645		return x.Target
646	}
647	return nil
648}
649
650func (x *Expr_Call) GetFunction() string {
651	if x != nil {
652		return x.Function
653	}
654	return ""
655}
656
657func (x *Expr_Call) GetArgs() []*Expr {
658	if x != nil {
659		return x.Args
660	}
661	return nil
662}
663
664// A list creation expression.
665//
666// Lists may either be homogenous, e.g. `[1, 2, 3]`, or heterogenous, e.g.
667// `dyn([1, 'hello', 2.0])`
668type Expr_CreateList struct {
669	state         protoimpl.MessageState
670	sizeCache     protoimpl.SizeCache
671	unknownFields protoimpl.UnknownFields
672
673	// The elements part of the list.
674	Elements []*Expr `protobuf:"bytes,1,rep,name=elements,proto3" json:"elements,omitempty"`
675}
676
677func (x *Expr_CreateList) Reset() {
678	*x = Expr_CreateList{}
679	if protoimpl.UnsafeEnabled {
680		mi := &file_google_api_expr_v1beta1_expr_proto_msgTypes[6]
681		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
682		ms.StoreMessageInfo(mi)
683	}
684}
685
686func (x *Expr_CreateList) String() string {
687	return protoimpl.X.MessageStringOf(x)
688}
689
690func (*Expr_CreateList) ProtoMessage() {}
691
692func (x *Expr_CreateList) ProtoReflect() protoreflect.Message {
693	mi := &file_google_api_expr_v1beta1_expr_proto_msgTypes[6]
694	if protoimpl.UnsafeEnabled && x != nil {
695		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
696		if ms.LoadMessageInfo() == nil {
697			ms.StoreMessageInfo(mi)
698		}
699		return ms
700	}
701	return mi.MessageOf(x)
702}
703
704// Deprecated: Use Expr_CreateList.ProtoReflect.Descriptor instead.
705func (*Expr_CreateList) Descriptor() ([]byte, []int) {
706	return file_google_api_expr_v1beta1_expr_proto_rawDescGZIP(), []int{1, 3}
707}
708
709func (x *Expr_CreateList) GetElements() []*Expr {
710	if x != nil {
711		return x.Elements
712	}
713	return nil
714}
715
716// A map or message creation expression.
717//
718// Maps are constructed as `{'key_name': 'value'}`. Message construction is
719// similar, but prefixed with a type name and composed of field ids:
720// `types.MyType{field_id: 'value'}`.
721type Expr_CreateStruct struct {
722	state         protoimpl.MessageState
723	sizeCache     protoimpl.SizeCache
724	unknownFields protoimpl.UnknownFields
725
726	// The type name of the message to be created, empty when creating map
727	// literals.
728	Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
729	// The entries in the creation expression.
730	Entries []*Expr_CreateStruct_Entry `protobuf:"bytes,2,rep,name=entries,proto3" json:"entries,omitempty"`
731}
732
733func (x *Expr_CreateStruct) Reset() {
734	*x = Expr_CreateStruct{}
735	if protoimpl.UnsafeEnabled {
736		mi := &file_google_api_expr_v1beta1_expr_proto_msgTypes[7]
737		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
738		ms.StoreMessageInfo(mi)
739	}
740}
741
742func (x *Expr_CreateStruct) String() string {
743	return protoimpl.X.MessageStringOf(x)
744}
745
746func (*Expr_CreateStruct) ProtoMessage() {}
747
748func (x *Expr_CreateStruct) ProtoReflect() protoreflect.Message {
749	mi := &file_google_api_expr_v1beta1_expr_proto_msgTypes[7]
750	if protoimpl.UnsafeEnabled && x != nil {
751		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
752		if ms.LoadMessageInfo() == nil {
753			ms.StoreMessageInfo(mi)
754		}
755		return ms
756	}
757	return mi.MessageOf(x)
758}
759
760// Deprecated: Use Expr_CreateStruct.ProtoReflect.Descriptor instead.
761func (*Expr_CreateStruct) Descriptor() ([]byte, []int) {
762	return file_google_api_expr_v1beta1_expr_proto_rawDescGZIP(), []int{1, 4}
763}
764
765func (x *Expr_CreateStruct) GetType() string {
766	if x != nil {
767		return x.Type
768	}
769	return ""
770}
771
772func (x *Expr_CreateStruct) GetEntries() []*Expr_CreateStruct_Entry {
773	if x != nil {
774		return x.Entries
775	}
776	return nil
777}
778
779// A comprehension expression applied to a list or map.
780//
781// Comprehensions are not part of the core syntax, but enabled with macros.
782// A macro matches a specific call signature within a parsed AST and replaces
783// the call with an alternate AST block. Macro expansion happens at parse
784// time.
785//
786// The following macros are supported within CEL:
787//
788// Aggregate type macros may be applied to all elements in a list or all keys
789// in a map:
790//
791// *  `all`, `exists`, `exists_one` -  test a predicate expression against
792//    the inputs and return `true` if the predicate is satisfied for all,
793//    any, or only one value `list.all(x, x < 10)`.
794// *  `filter` - test a predicate expression against the inputs and return
795//    the subset of elements which satisfy the predicate:
796//    `payments.filter(p, p > 1000)`.
797// *  `map` - apply an expression to all elements in the input and return the
798//    output aggregate type: `[1, 2, 3].map(i, i * i)`.
799//
800// The `has(m.x)` macro tests whether the property `x` is present in struct
801// `m`. The semantics of this macro depend on the type of `m`. For proto2
802// messages `has(m.x)` is defined as 'defined, but not set`. For proto3, the
803// macro tests whether the property is set to its default. For map and struct
804// types, the macro tests whether the property `x` is defined on `m`.
805type Expr_Comprehension struct {
806	state         protoimpl.MessageState
807	sizeCache     protoimpl.SizeCache
808	unknownFields protoimpl.UnknownFields
809
810	// The name of the iteration variable.
811	IterVar string `protobuf:"bytes,1,opt,name=iter_var,json=iterVar,proto3" json:"iter_var,omitempty"`
812	// The range over which var iterates.
813	IterRange *Expr `protobuf:"bytes,2,opt,name=iter_range,json=iterRange,proto3" json:"iter_range,omitempty"`
814	// The name of the variable used for accumulation of the result.
815	AccuVar string `protobuf:"bytes,3,opt,name=accu_var,json=accuVar,proto3" json:"accu_var,omitempty"`
816	// The initial value of the accumulator.
817	AccuInit *Expr `protobuf:"bytes,4,opt,name=accu_init,json=accuInit,proto3" json:"accu_init,omitempty"`
818	// An expression which can contain iter_var and accu_var.
819	//
820	// Returns false when the result has been computed and may be used as
821	// a hint to short-circuit the remainder of the comprehension.
822	LoopCondition *Expr `protobuf:"bytes,5,opt,name=loop_condition,json=loopCondition,proto3" json:"loop_condition,omitempty"`
823	// An expression which can contain iter_var and accu_var.
824	//
825	// Computes the next value of accu_var.
826	LoopStep *Expr `protobuf:"bytes,6,opt,name=loop_step,json=loopStep,proto3" json:"loop_step,omitempty"`
827	// An expression which can contain accu_var.
828	//
829	// Computes the result.
830	Result *Expr `protobuf:"bytes,7,opt,name=result,proto3" json:"result,omitempty"`
831}
832
833func (x *Expr_Comprehension) Reset() {
834	*x = Expr_Comprehension{}
835	if protoimpl.UnsafeEnabled {
836		mi := &file_google_api_expr_v1beta1_expr_proto_msgTypes[8]
837		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
838		ms.StoreMessageInfo(mi)
839	}
840}
841
842func (x *Expr_Comprehension) String() string {
843	return protoimpl.X.MessageStringOf(x)
844}
845
846func (*Expr_Comprehension) ProtoMessage() {}
847
848func (x *Expr_Comprehension) ProtoReflect() protoreflect.Message {
849	mi := &file_google_api_expr_v1beta1_expr_proto_msgTypes[8]
850	if protoimpl.UnsafeEnabled && x != nil {
851		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
852		if ms.LoadMessageInfo() == nil {
853			ms.StoreMessageInfo(mi)
854		}
855		return ms
856	}
857	return mi.MessageOf(x)
858}
859
860// Deprecated: Use Expr_Comprehension.ProtoReflect.Descriptor instead.
861func (*Expr_Comprehension) Descriptor() ([]byte, []int) {
862	return file_google_api_expr_v1beta1_expr_proto_rawDescGZIP(), []int{1, 5}
863}
864
865func (x *Expr_Comprehension) GetIterVar() string {
866	if x != nil {
867		return x.IterVar
868	}
869	return ""
870}
871
872func (x *Expr_Comprehension) GetIterRange() *Expr {
873	if x != nil {
874		return x.IterRange
875	}
876	return nil
877}
878
879func (x *Expr_Comprehension) GetAccuVar() string {
880	if x != nil {
881		return x.AccuVar
882	}
883	return ""
884}
885
886func (x *Expr_Comprehension) GetAccuInit() *Expr {
887	if x != nil {
888		return x.AccuInit
889	}
890	return nil
891}
892
893func (x *Expr_Comprehension) GetLoopCondition() *Expr {
894	if x != nil {
895		return x.LoopCondition
896	}
897	return nil
898}
899
900func (x *Expr_Comprehension) GetLoopStep() *Expr {
901	if x != nil {
902		return x.LoopStep
903	}
904	return nil
905}
906
907func (x *Expr_Comprehension) GetResult() *Expr {
908	if x != nil {
909		return x.Result
910	}
911	return nil
912}
913
914// Represents an entry.
915type Expr_CreateStruct_Entry struct {
916	state         protoimpl.MessageState
917	sizeCache     protoimpl.SizeCache
918	unknownFields protoimpl.UnknownFields
919
920	// Required. An id assigned to this node by the parser which is unique
921	// in a given expression tree. This is used to associate type
922	// information and other attributes to the node.
923	Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
924	// The `Entry` key kinds.
925	//
926	// Types that are assignable to KeyKind:
927	//	*Expr_CreateStruct_Entry_FieldKey
928	//	*Expr_CreateStruct_Entry_MapKey
929	KeyKind isExpr_CreateStruct_Entry_KeyKind `protobuf_oneof:"key_kind"`
930	// Required. The value assigned to the key.
931	Value *Expr `protobuf:"bytes,4,opt,name=value,proto3" json:"value,omitempty"`
932}
933
934func (x *Expr_CreateStruct_Entry) Reset() {
935	*x = Expr_CreateStruct_Entry{}
936	if protoimpl.UnsafeEnabled {
937		mi := &file_google_api_expr_v1beta1_expr_proto_msgTypes[9]
938		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
939		ms.StoreMessageInfo(mi)
940	}
941}
942
943func (x *Expr_CreateStruct_Entry) String() string {
944	return protoimpl.X.MessageStringOf(x)
945}
946
947func (*Expr_CreateStruct_Entry) ProtoMessage() {}
948
949func (x *Expr_CreateStruct_Entry) ProtoReflect() protoreflect.Message {
950	mi := &file_google_api_expr_v1beta1_expr_proto_msgTypes[9]
951	if protoimpl.UnsafeEnabled && x != nil {
952		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
953		if ms.LoadMessageInfo() == nil {
954			ms.StoreMessageInfo(mi)
955		}
956		return ms
957	}
958	return mi.MessageOf(x)
959}
960
961// Deprecated: Use Expr_CreateStruct_Entry.ProtoReflect.Descriptor instead.
962func (*Expr_CreateStruct_Entry) Descriptor() ([]byte, []int) {
963	return file_google_api_expr_v1beta1_expr_proto_rawDescGZIP(), []int{1, 4, 0}
964}
965
966func (x *Expr_CreateStruct_Entry) GetId() int32 {
967	if x != nil {
968		return x.Id
969	}
970	return 0
971}
972
973func (m *Expr_CreateStruct_Entry) GetKeyKind() isExpr_CreateStruct_Entry_KeyKind {
974	if m != nil {
975		return m.KeyKind
976	}
977	return nil
978}
979
980func (x *Expr_CreateStruct_Entry) GetFieldKey() string {
981	if x, ok := x.GetKeyKind().(*Expr_CreateStruct_Entry_FieldKey); ok {
982		return x.FieldKey
983	}
984	return ""
985}
986
987func (x *Expr_CreateStruct_Entry) GetMapKey() *Expr {
988	if x, ok := x.GetKeyKind().(*Expr_CreateStruct_Entry_MapKey); ok {
989		return x.MapKey
990	}
991	return nil
992}
993
994func (x *Expr_CreateStruct_Entry) GetValue() *Expr {
995	if x != nil {
996		return x.Value
997	}
998	return nil
999}
1000
1001type isExpr_CreateStruct_Entry_KeyKind interface {
1002	isExpr_CreateStruct_Entry_KeyKind()
1003}
1004
1005type Expr_CreateStruct_Entry_FieldKey struct {
1006	// The field key for a message creator statement.
1007	FieldKey string `protobuf:"bytes,2,opt,name=field_key,json=fieldKey,proto3,oneof"`
1008}
1009
1010type Expr_CreateStruct_Entry_MapKey struct {
1011	// The key expression for a map creation statement.
1012	MapKey *Expr `protobuf:"bytes,3,opt,name=map_key,json=mapKey,proto3,oneof"`
1013}
1014
1015func (*Expr_CreateStruct_Entry_FieldKey) isExpr_CreateStruct_Entry_KeyKind() {}
1016
1017func (*Expr_CreateStruct_Entry_MapKey) isExpr_CreateStruct_Entry_KeyKind() {}
1018
1019var File_google_api_expr_v1beta1_expr_proto protoreflect.FileDescriptor
1020
1021var file_google_api_expr_v1beta1_expr_proto_rawDesc = []byte{
1022	0x0a, 0x22, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x78, 0x70,
1023	0x72, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x70,
1024	0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69,
1025	0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x24, 0x67,
1026	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x2f, 0x76,
1027	0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72,
1028	0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74,
1029	0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74,
1030	0x6f, 0x22, 0xac, 0x01, 0x0a, 0x0a, 0x50, 0x61, 0x72, 0x73, 0x65, 0x64, 0x45, 0x78, 0x70, 0x72,
1031	0x12, 0x31, 0x0a, 0x04, 0x65, 0x78, 0x70, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d,
1032	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72,
1033	0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x52, 0x04, 0x65,
1034	0x78, 0x70, 0x72, 0x12, 0x44, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6e,
1035	0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
1036	0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
1037	0x61, 0x31, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x73,
1038	0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x79, 0x6e,
1039	0x74, 0x61, 0x78, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28,
1040	0x09, 0x52, 0x0d, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
1041	0x22, 0xbd, 0x0c, 0x0a, 0x04, 0x45, 0x78, 0x70, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18,
1042	0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x45, 0x0a, 0x0c, 0x6c, 0x69, 0x74,
1043	0x65, 0x72, 0x61, 0x6c, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
1044	0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70,
1045	0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61,
1046	0x6c, 0x48, 0x00, 0x52, 0x0b, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x45, 0x78, 0x70, 0x72,
1047	0x12, 0x44, 0x0a, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x04,
1048	0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70,
1049	0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45,
1050	0x78, 0x70, 0x72, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x09, 0x69, 0x64, 0x65,
1051	0x6e, 0x74, 0x45, 0x78, 0x70, 0x72, 0x12, 0x47, 0x0a, 0x0b, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74,
1052	0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f,
1053	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31,
1054	0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63,
1055	0x74, 0x48, 0x00, 0x52, 0x0a, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x45, 0x78, 0x70, 0x72, 0x12,
1056	0x41, 0x0a, 0x09, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x06, 0x20, 0x01,
1057	0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e,
1058	0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70,
1059	0x72, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x48, 0x00, 0x52, 0x08, 0x63, 0x61, 0x6c, 0x6c, 0x45, 0x78,
1060	0x70, 0x72, 0x12, 0x47, 0x0a, 0x09, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18,
1061	0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61,
1062	0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
1063	0x45, 0x78, 0x70, 0x72, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x48,
1064	0x00, 0x52, 0x08, 0x6c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x70, 0x72, 0x12, 0x4d, 0x0a, 0x0b, 0x73,
1065	0x74, 0x72, 0x75, 0x63, 0x74, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b,
1066	0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78,
1067	0x70, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x2e,
1068	0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x48, 0x00, 0x52, 0x0a,
1069	0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x45, 0x78, 0x70, 0x72, 0x12, 0x5c, 0x0a, 0x12, 0x63, 0x6f,
1070	0x6d, 0x70, 0x72, 0x65, 0x68, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x78, 0x70, 0x72,
1071	0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
1072	0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
1073	0x2e, 0x45, 0x78, 0x70, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x68, 0x65, 0x6e, 0x73,
1074	0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x68, 0x65, 0x6e,
1075	0x73, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x72, 0x1a, 0x1b, 0x0a, 0x05, 0x49, 0x64, 0x65, 0x6e,
1076	0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
1077	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x74, 0x0a, 0x06, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x12,
1078	0x37, 0x0a, 0x07, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
1079	0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78,
1080	0x70, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x52,
1081	0x07, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x6e, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c,
1082	0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x1b,
1083	0x0a, 0x09, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28,
1084	0x08, 0x52, 0x08, 0x74, 0x65, 0x73, 0x74, 0x4f, 0x6e, 0x6c, 0x79, 0x1a, 0x8c, 0x01, 0x0a, 0x04,
1085	0x43, 0x61, 0x6c, 0x6c, 0x12, 0x35, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x01,
1086	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70,
1087	0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45,
1088	0x78, 0x70, 0x72, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x66,
1089	0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66,
1090	0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18,
1091	0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61,
1092	0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
1093	0x45, 0x78, 0x70, 0x72, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x1a, 0x47, 0x0a, 0x0a, 0x43, 0x72,
1094	0x65, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x08, 0x65, 0x6c, 0x65, 0x6d,
1095	0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f,
1096	0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x62,
1097	0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x52, 0x08, 0x65, 0x6c, 0x65, 0x6d, 0x65,
1098	0x6e, 0x74, 0x73, 0x1a, 0xa2, 0x02, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74,
1099	0x72, 0x75, 0x63, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01,
1100	0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x4a, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72,
1101	0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
1102	0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65,
1103	0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53,
1104	0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x65, 0x6e, 0x74,
1105	0x72, 0x69, 0x65, 0x73, 0x1a, 0xb1, 0x01, 0x0a, 0x05, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x0e,
1106	0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d,
1107	0x0a, 0x09, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28,
1108	0x09, 0x48, 0x00, 0x52, 0x08, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x4b, 0x65, 0x79, 0x12, 0x38, 0x0a,
1109	0x07, 0x6d, 0x61, 0x70, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d,
1110	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72,
1111	0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52,
1112	0x06, 0x6d, 0x61, 0x70, 0x4b, 0x65, 0x79, 0x12, 0x33, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
1113	0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
1114	0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
1115	0x2e, 0x45, 0x78, 0x70, 0x72, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0a, 0x0a, 0x08,
1116	0x6b, 0x65, 0x79, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x1a, 0xf8, 0x02, 0x0a, 0x0d, 0x43, 0x6f, 0x6d,
1117	0x70, 0x72, 0x65, 0x68, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x74,
1118	0x65, 0x72, 0x5f, 0x76, 0x61, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x74,
1119	0x65, 0x72, 0x56, 0x61, 0x72, 0x12, 0x3c, 0x0a, 0x0a, 0x69, 0x74, 0x65, 0x72, 0x5f, 0x72, 0x61,
1120	0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
1121	0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65,
1122	0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x52, 0x09, 0x69, 0x74, 0x65, 0x72, 0x52, 0x61,
1123	0x6e, 0x67, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x63, 0x63, 0x75, 0x5f, 0x76, 0x61, 0x72, 0x18,
1124	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x63, 0x63, 0x75, 0x56, 0x61, 0x72, 0x12, 0x3a,
1125	0x0a, 0x09, 0x61, 0x63, 0x63, 0x75, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28,
1126	0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65,
1127	0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72,
1128	0x52, 0x08, 0x61, 0x63, 0x63, 0x75, 0x49, 0x6e, 0x69, 0x74, 0x12, 0x44, 0x0a, 0x0e, 0x6c, 0x6f,
1129	0x6f, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01,
1130	0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e,
1131	0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70,
1132	0x72, 0x52, 0x0d, 0x6c, 0x6f, 0x6f, 0x70, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
1133	0x12, 0x3a, 0x0a, 0x09, 0x6c, 0x6f, 0x6f, 0x70, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x18, 0x06, 0x20,
1134	0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69,
1135	0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78,
1136	0x70, 0x72, 0x52, 0x08, 0x6c, 0x6f, 0x6f, 0x70, 0x53, 0x74, 0x65, 0x70, 0x12, 0x35, 0x0a, 0x06,
1137	0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67,
1138	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76,
1139	0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x52, 0x06, 0x72, 0x65, 0x73,
1140	0x75, 0x6c, 0x74, 0x42, 0x0b, 0x0a, 0x09, 0x65, 0x78, 0x70, 0x72, 0x5f, 0x6b, 0x69, 0x6e, 0x64,
1141	0x22, 0xad, 0x02, 0x0a, 0x07, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x12, 0x3b, 0x0a, 0x0a,
1142	0x6e, 0x75, 0x6c, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e,
1143	0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
1144	0x75, 0x66, 0x2e, 0x4e, 0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x09,
1145	0x6e, 0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x62, 0x6f, 0x6f,
1146	0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52,
1147	0x09, 0x62, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x69, 0x6e,
1148	0x74, 0x36, 0x34, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x48,
1149	0x00, 0x52, 0x0a, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a,
1150	0x0c, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20,
1151	0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x0b, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c,
1152	0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x61, 0x6c,
1153	0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x6f, 0x75, 0x62,
1154	0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e,
1155	0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52,
1156	0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0b,
1157	0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28,
1158	0x0c, 0x48, 0x00, 0x52, 0x0a, 0x62, 0x79, 0x74, 0x65, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42,
1159	0x0f, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x5f, 0x6b, 0x69, 0x6e, 0x64,
1160	0x42, 0x6a, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61,
1161	0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42,
1162	0x09, 0x45, 0x78, 0x70, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3b, 0x67, 0x6f,
1163	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f,
1164	0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
1165	0x70, 0x69, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x2f, 0x76, 0x31, 0x62,
1166	0x65, 0x74, 0x61, 0x31, 0x3b, 0x65, 0x78, 0x70, 0x72, 0xf8, 0x01, 0x01, 0x62, 0x06, 0x70, 0x72,
1167	0x6f, 0x74, 0x6f, 0x33,
1168}
1169
1170var (
1171	file_google_api_expr_v1beta1_expr_proto_rawDescOnce sync.Once
1172	file_google_api_expr_v1beta1_expr_proto_rawDescData = file_google_api_expr_v1beta1_expr_proto_rawDesc
1173)
1174
1175func file_google_api_expr_v1beta1_expr_proto_rawDescGZIP() []byte {
1176	file_google_api_expr_v1beta1_expr_proto_rawDescOnce.Do(func() {
1177		file_google_api_expr_v1beta1_expr_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_api_expr_v1beta1_expr_proto_rawDescData)
1178	})
1179	return file_google_api_expr_v1beta1_expr_proto_rawDescData
1180}
1181
1182var file_google_api_expr_v1beta1_expr_proto_msgTypes = make([]protoimpl.MessageInfo, 10)
1183var file_google_api_expr_v1beta1_expr_proto_goTypes = []interface{}{
1184	(*ParsedExpr)(nil),              // 0: google.api.expr.v1beta1.ParsedExpr
1185	(*Expr)(nil),                    // 1: google.api.expr.v1beta1.Expr
1186	(*Literal)(nil),                 // 2: google.api.expr.v1beta1.Literal
1187	(*Expr_Ident)(nil),              // 3: google.api.expr.v1beta1.Expr.Ident
1188	(*Expr_Select)(nil),             // 4: google.api.expr.v1beta1.Expr.Select
1189	(*Expr_Call)(nil),               // 5: google.api.expr.v1beta1.Expr.Call
1190	(*Expr_CreateList)(nil),         // 6: google.api.expr.v1beta1.Expr.CreateList
1191	(*Expr_CreateStruct)(nil),       // 7: google.api.expr.v1beta1.Expr.CreateStruct
1192	(*Expr_Comprehension)(nil),      // 8: google.api.expr.v1beta1.Expr.Comprehension
1193	(*Expr_CreateStruct_Entry)(nil), // 9: google.api.expr.v1beta1.Expr.CreateStruct.Entry
1194	(*SourceInfo)(nil),              // 10: google.api.expr.v1beta1.SourceInfo
1195	(_struct.NullValue)(0),          // 11: google.protobuf.NullValue
1196}
1197var file_google_api_expr_v1beta1_expr_proto_depIdxs = []int32{
1198	1,  // 0: google.api.expr.v1beta1.ParsedExpr.expr:type_name -> google.api.expr.v1beta1.Expr
1199	10, // 1: google.api.expr.v1beta1.ParsedExpr.source_info:type_name -> google.api.expr.v1beta1.SourceInfo
1200	2,  // 2: google.api.expr.v1beta1.Expr.literal_expr:type_name -> google.api.expr.v1beta1.Literal
1201	3,  // 3: google.api.expr.v1beta1.Expr.ident_expr:type_name -> google.api.expr.v1beta1.Expr.Ident
1202	4,  // 4: google.api.expr.v1beta1.Expr.select_expr:type_name -> google.api.expr.v1beta1.Expr.Select
1203	5,  // 5: google.api.expr.v1beta1.Expr.call_expr:type_name -> google.api.expr.v1beta1.Expr.Call
1204	6,  // 6: google.api.expr.v1beta1.Expr.list_expr:type_name -> google.api.expr.v1beta1.Expr.CreateList
1205	7,  // 7: google.api.expr.v1beta1.Expr.struct_expr:type_name -> google.api.expr.v1beta1.Expr.CreateStruct
1206	8,  // 8: google.api.expr.v1beta1.Expr.comprehension_expr:type_name -> google.api.expr.v1beta1.Expr.Comprehension
1207	11, // 9: google.api.expr.v1beta1.Literal.null_value:type_name -> google.protobuf.NullValue
1208	1,  // 10: google.api.expr.v1beta1.Expr.Select.operand:type_name -> google.api.expr.v1beta1.Expr
1209	1,  // 11: google.api.expr.v1beta1.Expr.Call.target:type_name -> google.api.expr.v1beta1.Expr
1210	1,  // 12: google.api.expr.v1beta1.Expr.Call.args:type_name -> google.api.expr.v1beta1.Expr
1211	1,  // 13: google.api.expr.v1beta1.Expr.CreateList.elements:type_name -> google.api.expr.v1beta1.Expr
1212	9,  // 14: google.api.expr.v1beta1.Expr.CreateStruct.entries:type_name -> google.api.expr.v1beta1.Expr.CreateStruct.Entry
1213	1,  // 15: google.api.expr.v1beta1.Expr.Comprehension.iter_range:type_name -> google.api.expr.v1beta1.Expr
1214	1,  // 16: google.api.expr.v1beta1.Expr.Comprehension.accu_init:type_name -> google.api.expr.v1beta1.Expr
1215	1,  // 17: google.api.expr.v1beta1.Expr.Comprehension.loop_condition:type_name -> google.api.expr.v1beta1.Expr
1216	1,  // 18: google.api.expr.v1beta1.Expr.Comprehension.loop_step:type_name -> google.api.expr.v1beta1.Expr
1217	1,  // 19: google.api.expr.v1beta1.Expr.Comprehension.result:type_name -> google.api.expr.v1beta1.Expr
1218	1,  // 20: google.api.expr.v1beta1.Expr.CreateStruct.Entry.map_key:type_name -> google.api.expr.v1beta1.Expr
1219	1,  // 21: google.api.expr.v1beta1.Expr.CreateStruct.Entry.value:type_name -> google.api.expr.v1beta1.Expr
1220	22, // [22:22] is the sub-list for method output_type
1221	22, // [22:22] is the sub-list for method input_type
1222	22, // [22:22] is the sub-list for extension type_name
1223	22, // [22:22] is the sub-list for extension extendee
1224	0,  // [0:22] is the sub-list for field type_name
1225}
1226
1227func init() { file_google_api_expr_v1beta1_expr_proto_init() }
1228func file_google_api_expr_v1beta1_expr_proto_init() {
1229	if File_google_api_expr_v1beta1_expr_proto != nil {
1230		return
1231	}
1232	file_google_api_expr_v1beta1_source_proto_init()
1233	if !protoimpl.UnsafeEnabled {
1234		file_google_api_expr_v1beta1_expr_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
1235			switch v := v.(*ParsedExpr); i {
1236			case 0:
1237				return &v.state
1238			case 1:
1239				return &v.sizeCache
1240			case 2:
1241				return &v.unknownFields
1242			default:
1243				return nil
1244			}
1245		}
1246		file_google_api_expr_v1beta1_expr_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
1247			switch v := v.(*Expr); i {
1248			case 0:
1249				return &v.state
1250			case 1:
1251				return &v.sizeCache
1252			case 2:
1253				return &v.unknownFields
1254			default:
1255				return nil
1256			}
1257		}
1258		file_google_api_expr_v1beta1_expr_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
1259			switch v := v.(*Literal); i {
1260			case 0:
1261				return &v.state
1262			case 1:
1263				return &v.sizeCache
1264			case 2:
1265				return &v.unknownFields
1266			default:
1267				return nil
1268			}
1269		}
1270		file_google_api_expr_v1beta1_expr_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
1271			switch v := v.(*Expr_Ident); i {
1272			case 0:
1273				return &v.state
1274			case 1:
1275				return &v.sizeCache
1276			case 2:
1277				return &v.unknownFields
1278			default:
1279				return nil
1280			}
1281		}
1282		file_google_api_expr_v1beta1_expr_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
1283			switch v := v.(*Expr_Select); i {
1284			case 0:
1285				return &v.state
1286			case 1:
1287				return &v.sizeCache
1288			case 2:
1289				return &v.unknownFields
1290			default:
1291				return nil
1292			}
1293		}
1294		file_google_api_expr_v1beta1_expr_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
1295			switch v := v.(*Expr_Call); i {
1296			case 0:
1297				return &v.state
1298			case 1:
1299				return &v.sizeCache
1300			case 2:
1301				return &v.unknownFields
1302			default:
1303				return nil
1304			}
1305		}
1306		file_google_api_expr_v1beta1_expr_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
1307			switch v := v.(*Expr_CreateList); i {
1308			case 0:
1309				return &v.state
1310			case 1:
1311				return &v.sizeCache
1312			case 2:
1313				return &v.unknownFields
1314			default:
1315				return nil
1316			}
1317		}
1318		file_google_api_expr_v1beta1_expr_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
1319			switch v := v.(*Expr_CreateStruct); i {
1320			case 0:
1321				return &v.state
1322			case 1:
1323				return &v.sizeCache
1324			case 2:
1325				return &v.unknownFields
1326			default:
1327				return nil
1328			}
1329		}
1330		file_google_api_expr_v1beta1_expr_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
1331			switch v := v.(*Expr_Comprehension); i {
1332			case 0:
1333				return &v.state
1334			case 1:
1335				return &v.sizeCache
1336			case 2:
1337				return &v.unknownFields
1338			default:
1339				return nil
1340			}
1341		}
1342		file_google_api_expr_v1beta1_expr_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
1343			switch v := v.(*Expr_CreateStruct_Entry); i {
1344			case 0:
1345				return &v.state
1346			case 1:
1347				return &v.sizeCache
1348			case 2:
1349				return &v.unknownFields
1350			default:
1351				return nil
1352			}
1353		}
1354	}
1355	file_google_api_expr_v1beta1_expr_proto_msgTypes[1].OneofWrappers = []interface{}{
1356		(*Expr_LiteralExpr)(nil),
1357		(*Expr_IdentExpr)(nil),
1358		(*Expr_SelectExpr)(nil),
1359		(*Expr_CallExpr)(nil),
1360		(*Expr_ListExpr)(nil),
1361		(*Expr_StructExpr)(nil),
1362		(*Expr_ComprehensionExpr)(nil),
1363	}
1364	file_google_api_expr_v1beta1_expr_proto_msgTypes[2].OneofWrappers = []interface{}{
1365		(*Literal_NullValue)(nil),
1366		(*Literal_BoolValue)(nil),
1367		(*Literal_Int64Value)(nil),
1368		(*Literal_Uint64Value)(nil),
1369		(*Literal_DoubleValue)(nil),
1370		(*Literal_StringValue)(nil),
1371		(*Literal_BytesValue)(nil),
1372	}
1373	file_google_api_expr_v1beta1_expr_proto_msgTypes[9].OneofWrappers = []interface{}{
1374		(*Expr_CreateStruct_Entry_FieldKey)(nil),
1375		(*Expr_CreateStruct_Entry_MapKey)(nil),
1376	}
1377	type x struct{}
1378	out := protoimpl.TypeBuilder{
1379		File: protoimpl.DescBuilder{
1380			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
1381			RawDescriptor: file_google_api_expr_v1beta1_expr_proto_rawDesc,
1382			NumEnums:      0,
1383			NumMessages:   10,
1384			NumExtensions: 0,
1385			NumServices:   0,
1386		},
1387		GoTypes:           file_google_api_expr_v1beta1_expr_proto_goTypes,
1388		DependencyIndexes: file_google_api_expr_v1beta1_expr_proto_depIdxs,
1389		MessageInfos:      file_google_api_expr_v1beta1_expr_proto_msgTypes,
1390	}.Build()
1391	File_google_api_expr_v1beta1_expr_proto = out.File
1392	file_google_api_expr_v1beta1_expr_proto_rawDesc = nil
1393	file_google_api_expr_v1beta1_expr_proto_goTypes = nil
1394	file_google_api_expr_v1beta1_expr_proto_depIdxs = nil
1395}
1396