forked from cel-expr/cel-cpp
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathqualified_reference_resolver.h
More file actions
29 lines (25 loc) · 1.12 KB
/
Copy pathqualified_reference_resolver.h
File metadata and controls
29 lines (25 loc) · 1.12 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#ifndef THIRD_PARTY_CEL_CPP_EVAL_COMPILER_QUALIFIED_REFERENCE_RESOLVER_H_
#define THIRD_PARTY_CEL_CPP_EVAL_COMPILER_QUALIFIED_REFERENCE_RESOLVER_H_
#include "google/api/expr/v1alpha1/checked.pb.h"
#include "google/api/expr/v1alpha1/syntax.pb.h"
#include "google/protobuf/map.h"
#include "absl/status/status.h"
#include "absl/status/statusor.h"
#include "eval/eval/expression_build_warning.h"
namespace google {
namespace api {
namespace expr {
namespace runtime {
// A transformation over input expression that produces a new expression with
// select subexpressions replaced by idents referring to the fully-qualified
// variable name. Returns modified expr if updates found. Otherwise, returns
// nullopt.
absl::StatusOr<absl::optional<google::api::expr::v1alpha1::Expr>> ResolveReferences(
const google::api::expr::v1alpha1::Expr& expr,
const google::protobuf::Map<int64_t, google::api::expr::v1alpha1::Reference>& reference_map,
BuilderWarnings* warnings);
} // namespace runtime
} // namespace expr
} // namespace api
} // namespace google
#endif // THIRD_PARTY_CEL_CPP_EVAL_COMPILER_QUALIFIED_REFERENCE_RESOLVER_H_