123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- // Copyright 2019 Google LLC.
- //
- // 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.
- //
- syntax = "proto3";
- package google.api.expr.v1beta1;
- import "google/api/expr/v1beta1/expr.proto";
- option cc_enable_arenas = true;
- option go_package = "google.golang.org/genproto/googleapis/api/expr/v1beta1;expr";
- option java_multiple_files = true;
- option java_outer_classname = "DeclProto";
- option java_package = "com.google.api.expr.v1beta1";
- // A declaration.
- message Decl {
- // The id of the declaration.
- int32 id = 1;
- // The name of the declaration.
- string name = 2;
- // The documentation string for the declaration.
- string doc = 3;
- // The kind of declaration.
- oneof kind {
- // An identifier declaration.
- IdentDecl ident = 4;
- // A function declaration.
- FunctionDecl function = 5;
- }
- }
- // The declared type of a variable.
- //
- // Extends runtime type values with extra information used for type checking
- // and dispatching.
- message DeclType {
- // The expression id of the declared type, if applicable.
- int32 id = 1;
- // The type name, e.g. 'int', 'my.type.Type' or 'T'
- string type = 2;
- // An ordered list of type parameters, e.g. `<string, int>`.
- // Only applies to a subset of types, e.g. `map`, `list`.
- repeated DeclType type_params = 4;
- }
- // An identifier declaration.
- message IdentDecl {
- // Optional type of the identifier.
- DeclType type = 3;
- // Optional value of the identifier.
- Expr value = 4;
- }
- // A function declaration.
- message FunctionDecl {
- // The function arguments.
- repeated IdentDecl args = 1;
- // Optional declared return type.
- DeclType return_type = 2;
- // If the first argument of the function is the receiver.
- bool receiver_function = 3;
- }
|