MCPcopy Create free account
hub / github.com/cel-expr/cel-cpp / ExprToProtoImpl

Method ExprToProtoImpl

common/ast/expr_proto.cc:63–100  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

61
62 private:
63 absl::Status ExprToProtoImpl(const Expr& expr,
64 cel::expr::Expr* absl_nonnull proto) {
65 return absl::visit(
66 absl::Overload(
67 [&expr, proto](const UnspecifiedExpr&) -> absl::Status {
68 proto->Clear();
69 proto->set_id(expr.id());
70 return absl::OkStatus();
71 },
72 [this, &expr, proto](const Constant& const_expr) -> absl::Status {
73 return ConstExprToProto(expr, const_expr, proto);
74 },
75 [this, &expr, proto](const IdentExpr& ident_expr) -> absl::Status {
76 return IdentExprToProto(expr, ident_expr, proto);
77 },
78 [this, &expr,
79 proto](const SelectExpr& select_expr) -> absl::Status {
80 return SelectExprToProto(expr, select_expr, proto);
81 },
82 [this, &expr, proto](const CallExpr& call_expr) -> absl::Status {
83 return CallExprToProto(expr, call_expr, proto);
84 },
85 [this, &expr, proto](const ListExpr& list_expr) -> absl::Status {
86 return ListExprToProto(expr, list_expr, proto);
87 },
88 [this, &expr,
89 proto](const StructExpr& struct_expr) -> absl::Status {
90 return StructExprToProto(expr, struct_expr, proto);
91 },
92 [this, &expr, proto](const MapExpr& map_expr) -> absl::Status {
93 return MapExprToProto(expr, map_expr, proto);
94 },
95 [this, &expr, proto](
96 const ComprehensionExpr& comprehension_expr) -> absl::Status {
97 return ComprehensionExprToProto(expr, comprehension_expr, proto);
98 }),
99 expr.kind());
100 }
101
102 absl::Status ConstExprToProto(const Expr& expr, const Constant& const_expr,
103 ExprProto* absl_nonnull proto) {

Callers

nothing calls this directly

Calls 4

ClearMethod · 0.45
set_idMethod · 0.45
idMethod · 0.45
kindMethod · 0.45

Tested by

no test coverage detected