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

Method Create

eval/eval/cel_expression_flat_impl.cc:107–122  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

105}
106
107absl::StatusOr<std::unique_ptr<CelExpressionRecursiveImpl>>
108CelExpressionRecursiveImpl::Create(
109 absl_nonnull std::shared_ptr<const RuntimeEnv> env,
110 FlatExpression flat_expr) {
111 if (flat_expr.path().empty() ||
112 flat_expr.path().front()->GetNativeTypeId() !=
113 cel::NativeTypeId::For<WrappedDirectStep>()) {
114 return absl::InvalidArgumentError(absl::StrCat(
115 "Expected a recursive program step", flat_expr.path().size()));
116 }
117
118 auto* instance =
119 new CelExpressionRecursiveImpl(std::move(env), std::move(flat_expr));
120
121 return absl::WrapUnique(instance);
122}
123
124absl::StatusOr<CelValue> CelExpressionRecursiveImpl::Trace(
125 const BaseActivation& activation, google::protobuf::Arena* arena,

Callers

nothing calls this directly

Calls 4

WrapUniqueFunction · 0.85
emptyMethod · 0.45
GetNativeTypeIdMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected