xref: /aosp_15_r20/external/googleapis/google/api/expr/v1alpha1/explain.proto (revision d5c09012810ac0c9f33fe448fb6da8260d444cc9)
1*d5c09012SAndroid Build Coastguard Worker// Copyright 2023 Google LLC
2*d5c09012SAndroid Build Coastguard Worker//
3*d5c09012SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License");
4*d5c09012SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License.
5*d5c09012SAndroid Build Coastguard Worker// You may obtain a copy of the License at
6*d5c09012SAndroid Build Coastguard Worker//
7*d5c09012SAndroid Build Coastguard Worker//     http://www.apache.org/licenses/LICENSE-2.0
8*d5c09012SAndroid Build Coastguard Worker//
9*d5c09012SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software
10*d5c09012SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS,
11*d5c09012SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*d5c09012SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and
13*d5c09012SAndroid Build Coastguard Worker// limitations under the License.
14*d5c09012SAndroid Build Coastguard Worker
15*d5c09012SAndroid Build Coastguard Workersyntax = "proto3";
16*d5c09012SAndroid Build Coastguard Worker
17*d5c09012SAndroid Build Coastguard Workerpackage google.api.expr.v1alpha1;
18*d5c09012SAndroid Build Coastguard Worker
19*d5c09012SAndroid Build Coastguard Workerimport "google/api/expr/v1alpha1/value.proto";
20*d5c09012SAndroid Build Coastguard Worker
21*d5c09012SAndroid Build Coastguard Workeroption cc_enable_arenas = true;
22*d5c09012SAndroid Build Coastguard Workeroption go_package = "google.golang.org/genproto/googleapis/api/expr/v1alpha1;expr";
23*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true;
24*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "ExplainProto";
25*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.api.expr.v1alpha1";
26*d5c09012SAndroid Build Coastguard Worker
27*d5c09012SAndroid Build Coastguard Worker// Values of intermediate expressions produced when evaluating expression.
28*d5c09012SAndroid Build Coastguard Worker// Deprecated, use `EvalState` instead.
29*d5c09012SAndroid Build Coastguard Workermessage Explain {
30*d5c09012SAndroid Build Coastguard Worker  option deprecated = true;
31*d5c09012SAndroid Build Coastguard Worker
32*d5c09012SAndroid Build Coastguard Worker  // ID and value index of one step.
33*d5c09012SAndroid Build Coastguard Worker  message ExprStep {
34*d5c09012SAndroid Build Coastguard Worker    // ID of corresponding Expr node.
35*d5c09012SAndroid Build Coastguard Worker    int64 id = 1;
36*d5c09012SAndroid Build Coastguard Worker
37*d5c09012SAndroid Build Coastguard Worker    // Index of the value in the values list.
38*d5c09012SAndroid Build Coastguard Worker    int32 value_index = 2;
39*d5c09012SAndroid Build Coastguard Worker  }
40*d5c09012SAndroid Build Coastguard Worker
41*d5c09012SAndroid Build Coastguard Worker  // All of the observed values.
42*d5c09012SAndroid Build Coastguard Worker  //
43*d5c09012SAndroid Build Coastguard Worker  // The field value_index is an index in the values list.
44*d5c09012SAndroid Build Coastguard Worker  // Separating values from steps is needed to remove redundant values.
45*d5c09012SAndroid Build Coastguard Worker  repeated Value values = 1;
46*d5c09012SAndroid Build Coastguard Worker
47*d5c09012SAndroid Build Coastguard Worker  // List of steps.
48*d5c09012SAndroid Build Coastguard Worker  //
49*d5c09012SAndroid Build Coastguard Worker  // Repeated evaluations of the same expression generate new ExprStep
50*d5c09012SAndroid Build Coastguard Worker  // instances. The order of such ExprStep instances matches the order of
51*d5c09012SAndroid Build Coastguard Worker  // elements returned by Comprehension.iter_range.
52*d5c09012SAndroid Build Coastguard Worker  repeated ExprStep expr_steps = 2;
53*d5c09012SAndroid Build Coastguard Worker}
54